2017-01-28 13 views
5

tôi được trang trí một hành động như sauObject không phải là một nguyên thủy cho các mô hình bản tin đáp ứng

[SwaggerResponse(HttpStatusCode.OK, "List of customers", typeof(List<CustomerDto>))] 
[SwaggerResponse(HttpStatusCode.NotFound, Type = typeof(NotFoundException))] 

Mô hình OK được hiển thị một cách chính xác.

Tuy nhiên, trong Tin nhắn trả lời, tôi nhận được 'Đối tượng không phải là nguyên thủy' cho NotFound. Ngoại lệ tùy chỉnh xuất phát từ Exception, triển khai ISerializable và cũng có [Serializable][DataContract()]

Làm cách nào để hiển thị loại dữ liệu thực tế thay vì thông báo?

Ngoài ra, tôi có phải chịu ảnh hưởng khi sử dụng WebApi bình thường không, nếu tôi trang trí tất cả các hành động có thuộc tính như vậy?

Trả lời

-1

Làm thế nào về một cái gì đó như:

[SwaggerResponse(HttpStatusCode.OK, "List of customers", typeof(IEnumerable<int>))] 
    [SwaggerResponse(HttpStatusCode.BadRequest, Type = typeof(BadRequestErrorMessageResult))] 
    [SwaggerResponse(HttpStatusCode.NotFound, Type = typeof(NotFoundResult))] 
    public IHttpActionResult GetById(int id) 
    { 
     if (id > 0) 
      return Ok(new int[] { 1, 2 }); 
     else if (id == 0) 
      return NotFound(); 
     else 
      return BadRequest("id must be greater than 0"); 
    } 

http://swashbuckletest.azurewebsites.net/swagger/ui/index#!/IHttpActionResult/IHttpActionResult_GetById

Các vấn đề liên quan