在Net Core 2.2中隐藏大张旗鼓的不良响应示例模型

时间:2019-05-28 11:56:50

标签: c# swagger-2.0 asp.net-core-2.2

我将netcore 2.1项目升级到2.2,但是我的招摇页面出现了问题。

以前,如果反应迟钝,它只会在没有模型的情况下显示“错误请求”。

但是我升级到Net Core 2.2之后,在错误的请求示例中显示了一个模型。图像如下。

如何隐藏它,使其仅显示“错误请求”。

我已经使用CustomApiConvention进行了测试,但到目前为止没有成功。

    [HttpGet("{id}")]
    [ProducesResponseType(StatusCodes.Status204NoContent)]
    [ProducesResponseType(StatusCodes.Status400BadRequest)]
    [ProducesResponseType(StatusCodes.Status404NotFound)]
    [ProducesDefaultResponseType]
    public async Task<ActionResult<Employee>> GetEmployee(int id)
    {
        var employee = await _context.Employee.FindAsync(id);

        if (employee == null)
        {
            return NotFound();
        }

        return employee;
    }

如何隐藏它,使其仅显示“错误请求”?

enter image description here

1 个答案:

答案 0 :(得分:2)

对于遇到相同问题的任何人。只需将其添加到您的代码中即可。

services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
.ConfigureApiBehaviorOptions(options =>
{
    options.SuppressMapClientErrors = true;
});

这将禁用ProblemDetails响应。

https://docs.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-2.2#problem-details-for-error-status-codes