2017-05-09 3 views
0

WebAPIとSwashbuckleを使用してクライアントコードをテストして生成しています。私は、パラメータとしてオブジェクトとメソッドを持っている私のWebアプリケーションで :このオブジェクトのパラメータのデータ型のセクションでは、SwaggerUIでパラメータバインディングオブジェクト[FromBody]はオプションではありません

[Route("Orders/SendReport")] 
     [HttpPost] 
     public HttpResponseMessage Orders(string email,[FromBody]ReportOrders reportOrders){ 
    ... 
} 

この方法では、この例を示します。

**Model:** 
ReportOrders { 
date1 (string, optional), 
date2 (string, optional), 
status (string, optional), 
codformula (string, optional) 
} 

がありますこれらのパラメータ(明らかにReportOrdersクラスのプロパティです)をオプションにする方法はありませんか?これは、現在のReportOrdersクラスです:

namespace Myapp.Models 
{ 
    public class ReportOrders 
    { 
     public DateTime date1 { get; set; } 
     public DateTime date2 { get; set; } 
     public string status { get; set; } 
     public string codformula { get; set; } 
    } 
} 
+0

'ReportOrders'クラス定義を質問に追加できますか? – juunas

+0

確かに、私はすでに –

答えて

0

あなたは[Required]としてモデルのプロパティをマークする必要があります。

public class ReportOrders 
{ 
    [Required] 
    public DateTime? date1 { get; set; } 
    [Required] 
    public DateTime date2 { get; set; } 
    [Required] 
    public string status { get; set; } 
    [Required] 
    public string codformula { get; set; } 
} 

彼らは人口のであればそうでないあなたが知ることができないので、私はまた、日付時刻のNullableを作りましたか否か。

+0

モデルがSystem.ComponentModels.DataAnnotationsへの参照を必要とし、Dapper注釈だけでなく注釈もSystem DataAnnotationsである必要があることを発見しました。 ORM](VS2017はこれらをあいまいに定義された注釈として識別します) – JasonInVegas

+0

Dapperに同じ名前の属性があると思いますか?はい、他のシステムはデータ注釈1を検索しているため動作しません。 – juunas

関連する問題