运行结果:
TestAppService
public class TestAppService : ApplicationService, ITestAppService
{
private readonly IPersonRepository _personRepo;
//private readonly IStatisticsRepository _statisRepo;
public TestAppService(IPersonRepository personRepo
//, IStatisticsRepository statisRepo
)
{
_personRepo = personRepo;
//_statisRepo = statisRepo;
}
public string Get()
{
return _personRepo.Get();
}
public async Task<List<PersonDto>> GetAll()
{
var list = await _personRepo.GetAll();
return ObjectMapper.Map<List<Person>, List<PersonDto>>(list);
}
}
ITestAppService
public interface ITestAppService : IApplicationService
{
Task<List<PersonDto>> GetAll();
string Get();
}
我在abp vnext中写了appservice,运行打开swagger就一直load failed,问下各位是什么问题。
删除掉appservice相关的文件 就可以正常运行。
DbContext里面定义了dbset
当你在页面看到Fetch Error报错后,到服务启动后的cmd窗口可以看到详细的swagger错误信息。
下面是一些常见的swagger错误:
1.引入了循环依赖:在应用服务中,如果你在构造函数中注入了其他服务,而这些服务又依赖于当前的应用服务,就会导致循环依赖。这会导致依赖注入容器无法正确解析依赖关系,从而导致Swagger加载失败。解决方法是检查你的依赖关系并确保没有循环依赖。
2.引入了错误的路由配置:在应用服务中,你可能会定义一些自定义的路由配置,用于处理特定的请求。如果你在路由配置中引入了错误的代码或者逻辑,就会导致Swagger无法正确加载。解决方法是检查你的路由配置并确保没有错误的代码或者逻辑。项目中任何一个Controller方法上没有标记HttpPost或HttpGet也可能报错。
3.引入了错误的参数绑定:在应用服务的方法中,你可能会定义一些参数,用于接收请求中的数据。如果你在参数绑定中引入了错误的代码或者逻辑,就会导致Swagger无法正确加载。解决方法是检查你的参数绑定并确保没有错误的代码或者逻辑。
4.引入了错误的返回类型:在应用服务的方法中,你可能会定义一些返回类型,用于返回响应数据。如果你在返回类型中引入了错误的代码或者逻辑,就会导致Swagger无法正确加载。解决方法是检查你的返回类型并确保没有错误的代码或者逻辑。
5.引入了错误的异常处理:在应用服务的方法中,你可能会定义一些异常处理逻辑,用于处理可能发生的异常。如果你在异常处理中引入了错误的代码或者逻辑,就会导致Swagger无法正确加载。解决方法是检查你的异常处理逻辑并确保没有错误的代码或者逻辑。