目的:
- 能够让前端开发与后台开发人员更好的配合,提高工作效率
- 项目迭代或者项目人员更迭时,方便后期人员查看和维护
- 方便测试人员进行接口测试
1.接口文档默认地址
在 Furion
框架中,默认 规范化文档
地址为 /api
目录,支持两种自定义配置。配置文件优先
- launchSettings.json 配置
- app.UseInject("")配置
"SpecificationDocumentSettings": {
"DefaultGroupName": "MyApi"
}
app.UseInject("Myapi");
2.接口分租命名
我们可以将系统划分为多个模块,每个模块都独立的 api
配置。
使用特性 :[ApiDescriptionSettings("")] 进行命名区分
using Furion.DynamicApiController;
using Furion.FriendlyException;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace F2.Application
{
[ApiDescriptionSettings("友好异常处理")]
public class FurionAppService : IDynamicApiController
{
public string Getwhat(int num)
{
string[] str= new string[] { "222", "333" };
if (str.Count() > num)
return str[num];
else
//string errorMessage = $"{num} 不能大于等于{str.Count()}";
throw Oops.Oh(-2003);
}
}
[ApiDescriptionSettings("某模块接口")]
public class Furion2AppService : IDynamicApiController
{
public string Getword()
{
return "str";
}
}
}
可通过 appsetting.json
也可配置该模块相关信息说明
"SpecificationDocumentSettings": {
"DefaultGroupName": "MyApi",
"GroupOpenApiInfos": [
{
"Group": "某模块接口",
"Title": "某模块接口",
"Description": "想表达什么就写什么",
"Version": "版本号1.0.2221",
"TermsOfService": "地址",
"Contact": {
"Name": "作者",
"Url": "",
"Email": "邮箱"
}
}
]
}
体现:
3.文档注释
规范化文档默认扫描 F2.Application
,F2.Web.Core
,F2.Web.Entry
三个程序集.xml
注释文件
先新建三个xml文件,命名于类库名称一致
其次 右键->属性这三个xml文件选择 下图实例保存
右键这三个类库按下图操作
在Furion2AppService类 加上相关注解
/// <summary>
/// 某模块接口
/// </summary>
[ApiDescriptionSettings("某模块接口")]
public class Furion2AppService : IDynamicApiController
{
/// <summary>
/// 接口1
/// </summary>
/// <returns></returns>
public string Getword()
{
return "str";
}
/// <summary>
/// 接口2
/// </summary>
/// <returns></returns>
public string Getword2()
{
return "str";
}
}
运行示例图