文件有点大,去掉了packages文件夹,(Swashbuckle.Core.5.6.0)
链接:https://pan.baidu.com/s/1DzMLhFyRav0dufS4dTeMzg
提取码:lab0
这里只是使用swagger测试api的功能是否正确,关于接口的说明,后面会补上。
在https://aspnetboilerplate.com/Templates下载模板
在项目SimpleTaskSystem.WebApi里安装Swashbuckle.core 5.6.0
安装成功后再文件SimpleTaskSystemWebApiModule.cs的方法Initialize里调用ConfigureSwaggerUi();
1 private void ConfigureSwaggerUi() 2 { 3 Configuration.Modules.AbpWebApi().HttpConfiguration 4 .EnableSwagger(c => 5 { 6 c.SingleApiVersion("v1", "SimpleTaskSystem.WebApi"); 7 c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First()); 8 }) 9 .EnableSwaggerUi(c => 10 { 11 //路径规则,项目命名空间.文件夹名称.js文件名称 12 c.InjectJavaScript(Assembly.GetAssembly(typeof(SimpleTaskSystemWebApiModule)), "SimpleTaskSystem.Api.Scripts.Swagger.js"); 13 }); 14 }
然后再api文件夹下创建新的文件夹Scripts,再Scripts里创建js文件Swagger.js。
1 var getCookieValue = function(key) { 2 var equalities = document.cookie.split(‘; ‘); 3 for (var i = 0; i < equalities.length; i++) { 4 if (!equalities[i]) { 5 continue; 6 } 7 8 var splitted = equalities[i].split(‘=‘); 9 if (splitted.length !== 2) { 10 continue; 11 } 12 13 if (decodeURIComponent(splitted[0]) === key) { 14 return decodeURIComponent(splitted[1] || ‘‘); 15 } 16 } 17 18 return null; 19 }; 20 21 var csrfCookie = getCookieValue("XSRF-TOKEN"); 22 var csrfCookieAuth = new SwaggerClient.ApiKeyAuthorization("X-XSRF-TOKEN", csrfCookie, "header"); 23 swaggerUi.api.clientAuthorizations.add("X-XSRF-TOKEN", csrfCookieAuth);
编译解决方案后我们就可以运行看看是否有误了:
http://localhost:6234/swagger/ui/index
打开F12,我们看到已经正确加载了
接下来,我们测试一下
打开http://localhost:6234/swagger,我们可以看到下图的api列表:
其中 app_author、app_book、app_category是我们创建的
下面我们测试下app_author的api,首先插入一条数据:
可以看到已经成功,然后我们看下所有数据:
我们再看下根据id获取数据
我们更新一个数据试试:
删除一条呢:
我们可以看到Author的这几个api都是可以的。
提示:在新增book时,由于表的关联关系,只有在正确输入Category和Author的id后才能创建成功。
Asp.Net Boilerplate Project 使用swagger调试api
原文:https://www.cnblogs.com/mantishell/p/10699987.html