如何在ASP.NET Core2.1项目中设置swaggeroperationid
属性?根据这篇文章,我应该使用swaggerOperationAttribute
,但我在swashbuckle.aspnetcore库中找不到它。还有IOPerationFilter
public interface IOperationFilter
{
void Apply(Operation operation, OperationFilterContext context);
}
而且我找不到任何用于大摇大摆生成目的的实现。
还有另外两个选项,无需编写任何额外的代码或添加额外的依赖项,如swashbuckle.aspnetcore.annotations
选项1:基于约定-Swaggergen
有一个设置CustomOperationIDs
的选项。因此,您可以简单地将其设置为使用controllername_httpmethod
,如下所示:
services.AddSwaggerGen(c =>
{
c.CustomOperationIds(e => $"{e.ActionDescriptor.RouteValues["controller"]}_{e.HttpMethod}");
c.SwaggerDoc("v1", new Info { Title = "Test API", Version = "v1" });
});
这将按照controllername_httpmethod
约定向所有方法添加operationIds。
[HttpPost(Name="Post_Person")]
[ProducesResponseType(200)]
[ProducesResponseType(400)]
[ProducesResponseType(500)]
public async Task<ActionResult<Response>> PostAsync([FromBody]Request request)
{
Response result = await _context.PostAsync(request);
return Ok(result);
}
我很难让swashbuckle.aspnetcore(1.0.0)包生成任何输出。我读到swagger.json文件应该写到'~/swagger/docs/v1'。然而,我没有得到任何输出。 我从一个全新的ASP.NET核心API项目开始。我应该提到这是ASP.NET Core2。API可以工作,我可以从values控制器检索值。 我的启动类的配置与本文描述的完全相同(GitHub上的swashb
我们试图覆盖Swashbuckle/Swagger IO代码根命名约定,当它为现有的500多个控制器和相应的方法创建Angular API服务代理时。 目前正在将Net Core3 API与Angular打字脚本连接起来。 https://stackoverflow.com/a/54294810/13889515
.NET核心和ASP.NET核心到底有什么区别?
我正在使用ASP.NET内核。我正在创建一个基本的WebAPI。我想在出现问题时显示一个JSON错误。 打印屏幕在我的屏幕上显示want I want。唯一的问题是它的发送状态码为200。 我可以通过这样做来解决问题: 真诚的,布莱希特
在ASP.NET MVC5中,您可以抛出一个带有HTTP代码的HttpException,这将设置如下所示的响应: ASP.NET核心中不存在。等价代码是什么?
我的实际情况是,我允许在实现自定义参数绑定的API控制器上使用参数绑定进行依赖注入。 例如,控制器动作可能如下所示: 当我使用Swashbuckle生成的Swagger UI探索我的API时,< code>customerFacade被指定为一个实际的和必需的资源动作参数。 您知道从生成的 Swagger UI 中排除控制器操作参数的任何方法吗? 注意:我知道解决方法可以使用构造函数注入注入依赖项