首页 新闻 会员 周边

abp vnext定义了appservice相关的文件后,运行swagger一直提示load failed

0
悬赏园豆:20 [待解决问题]

运行结果:

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

最佳损友。的主页 最佳损友。 | 初学一级 | 园豆:63
提问于:2023-06-29 22:36
< >
分享
所有回答(2)
0

当你在页面看到Fetch Error报错后,到服务启动后的cmd窗口可以看到详细的swagger错误信息。

下面是一些常见的swagger错误:

1.引入了循环依赖:在应用服务中,如果你在构造函数中注入了其他服务,而这些服务又依赖于当前的应用服务,就会导致循环依赖。这会导致依赖注入容器无法正确解析依赖关系,从而导致Swagger加载失败。解决方法是检查你的依赖关系并确保没有循环依赖。

2.引入了错误的路由配置:在应用服务中,你可能会定义一些自定义的路由配置,用于处理特定的请求。如果你在路由配置中引入了错误的代码或者逻辑,就会导致Swagger无法正确加载。解决方法是检查你的路由配置并确保没有错误的代码或者逻辑。项目中任何一个Controller方法上没有标记HttpPost或HttpGet也可能报错。

3.引入了错误的参数绑定:在应用服务的方法中,你可能会定义一些参数,用于接收请求中的数据。如果你在参数绑定中引入了错误的代码或者逻辑,就会导致Swagger无法正确加载。解决方法是检查你的参数绑定并确保没有错误的代码或者逻辑。

4.引入了错误的返回类型:在应用服务的方法中,你可能会定义一些返回类型,用于返回响应数据。如果你在返回类型中引入了错误的代码或者逻辑,就会导致Swagger无法正确加载。解决方法是检查你的返回类型并确保没有错误的代码或者逻辑。

5.引入了错误的异常处理:在应用服务的方法中,你可能会定义一些异常处理逻辑,用于处理可能发生的异常。如果你在异常处理中引入了错误的代码或者逻辑,就会导致Swagger无法正确加载。解决方法是检查你的异常处理逻辑并确保没有错误的代码或者逻辑。

lanedm | 园豆:2381 (老鸟四级) | 2023-06-30 08:56
0
絆τ | 园豆:206 (菜鸟二级) | 2023-10-25 17:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册