Inx*_*x51 5 swashbuckle asp.net-core openapi
我注意到在 Swagger UI v3 和 OAS3 中,我们现在支持称为“链接”的东西
但我真的不知道是否可以将这个功能与 Swashbuckle 一起使用,如果是……那么如何?一直在网上搜索,并没有找到任何关于这个的东西..
任何人都能够使用与 Swashbuckle 的链接?
小智 2
您可以使用操作过滤器。创建一个实现 IOperationFilter 的类
public class MyLinkFilter : IOperationFilter
{
Run Code Online (Sandbox Code Playgroud)
在其中选择您要添加链接的响应。
public void Apply(OpenApiOperation operation, OperationFilterContext context)
var responses = operation.Responses;
var response = responses.FirstOrDefault(r => r.Key == "200").Value;
Run Code Online (Sandbox Code Playgroud)
然后更新链接属性
response.Links = new Dictionary<string, OpenApiLink>
{
{
"YourKey"
,new OpenApiLink {
OperationId = "YourOperationId",
Description = ".............",
Parameters = new Dictionary<string, RuntimeExpressionAnyWrapper>
{
{
"yourParam", new RuntimeExpressionAnyWrapper
{
Any = new OpenApiString("$request.path.number")
}
}
}
}
}
};
Run Code Online (Sandbox Code Playgroud)
将您的OperationFilter注册到startup.cs中
services.AddSwaggerGen(options =>
{
options.OperationFilter<MyLinkFilter>();
});
Run Code Online (Sandbox Code Playgroud)
最后,您必须实现一种机制来将链接应用到控制器中的良好操作。
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |