C# 如何在swagger/Swashback WebAPI 2中定义响应错误元数据

C# 如何在swagger/Swashback WebAPI 2中定义响应错误元数据,c#,asp.net-web-api,asp.net-web-api2,swagger,swashbuckle,C#,Asp.net Web Api,Asp.net Web Api2,Swagger,Swashbuckle,我已经了解了如何在Swashback中创建响应对象元数据: [Route("X/{Y:Guid}")] [HttpGet] [SwaggerResponse(HttpStatusCode.OK, "Bla", typeof(BlaDto))] public IHttpActionResult GetSomething([FromUri] Guid someGuid) { Bla returnObject; try { returnObject = _ser

我已经了解了如何在Swashback中创建响应对象元数据:

[Route("X/{Y:Guid}")]
[HttpGet]
[SwaggerResponse(HttpStatusCode.OK, "Bla", typeof(BlaDto))]
public IHttpActionResult GetSomething([FromUri] Guid someGuid)
{
    Bla returnObject;
    try
    {
        returnObject = _service.Get(someGuid);
    }
    catch (DatabaseException databaseException)
    {
        ModelState.AddModelError("DatabaseException", databaseException.Message);
        return BadRequest(ModelState);
    }

    return Ok(returnObject);     
}

我仍在寻找示例来定义请求对象元数据和400个错误的元数据等。任何指针都将非常感谢。

操作的对象元数据由Swashback自动检测。可以通过添加更多的
SwaggerResponseAttribute
s来指定错误的对象元数据

下面是一个例子:

[Route("X}")]
[HttpPost]
[SwaggerResponse(HttpStatusCode.Created, "Bla", typeof(BlaDto))]
[SwaggerResponse(HttpStatusCode.Conflict, Type = typeof(ErrorResponse))]
[SwaggerResponse(HttpStatusCode.BadRequest, Type = typeof(ErrorResponse))]
public IHttpActionResult CreateBla(BlaDto bla)
{
    BladDto returnObject;

    try
    {
        returnObject = _service.Create(bla);
    }
    catch (DatabaseException databaseException)
    {
        var error = new ErrorResponse { Message = databaseException.Message);
        return Content(HttpStatusCode.BadRequest, error);
    }
    catch (SomeOtherException ex)
    {
        var error = new ErrorResponse { Message = ex.Message);
        return Content(HttpStatusCode.Conflict, error);
    }
    return Ok(returnObject);     
}

public class ErrorResponse
{
    string Message { get; set; }
}

你是说,我不能使用“returnbadRequest(ModelState);”看看招摇过市反应的例子?