.NET闊歩モデルスキーマはUNIONによって形成されたGETのために空になるUNIONによって形成されたGETだけのために.NET闊歩モデルスキーマは空である -
にはどうすれば良い示すことができた(単純なGETは、右のモデルスキーマを示します)メソッドswaggerのモデルスキーマは空のスキーマを示しますか?
.NET闊歩モデルスキーマはUNIONによって形成されたGETのために空になるUNIONによって形成されたGETだけのために.NET闊歩モデルスキーマは空である -
にはどうすれば良い示すことができた(単純なGETは、右のモデルスキーマを示します)メソッドswaggerのモデルスキーマは空のスキーマを示しますか?
使用SwaggerResponse:
[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");
}
あなたとの差が1で使用していることですHttpResponseMessage
問題の一部は@HelderSepuで観察したところ、私が送信された応答は、(理由のLINQで "選択" の)IEnumerableをしませんでした。 、私はLINQの中でモデルを使用すると
namespace SupplierB_api.Models {
public class SupplierResponse {
public int SupplierID;
public string SupplierName;
public char SupplierType; }
}
:
var SuppliersDistributor = entities.tblD.Take(5).AsEnumerable()
.Select(d => new SupplierResponse { SupplierID = d.distributor_id, SupplierName = d.distributor_name, SupplierType = 'D'});
var SuppliersPublisher = entities.tblN.Take(5).AsEnumerable()
.Select(p => new SupplierResponse { SupplierID = p.publisher_id, SupplierName = p.publisher_name, SupplierType = 'P' });
次に、SwaggerResponseを使用します(@HelderSepuの示唆)。
[SwaggerResponse(HttpStatusCode.OK, "response", typeof(IOrderedEnumerable<SupplierResponse>))]