我正在使用Postman
來調用Get
。在URL
我有其中的underscore
可選參數。我想通過使用DataContract
將這些值分配給class
,但我無法做到這一點。如果我單獨閱讀它們,那就沒有問題了。在Web API中映射可選參數C#
這對我來說是新的,因此探索什麼是最好的方法來做到這一點。找到一些鏈接,建議去個別參數,但要確保我在這裏沒有丟失任何東西。
電話:http://{{url}}/Host?host_name=Test&host_zipcode=123&host_id=123
工作:如果我讀他們作爲一個單獨的參數我可以讀取這些參數值。
[HttpGet]
[Route("api/Host")]
public async Task<HostResponse> GetHostInfo([FromUri (Name = "host_name")] string hostName, [FromUri (Name = "host_zipcode")] string hostZipCode, [FromUri(Name = "host_id")] string hostId)
{
}
不工作:當我嘗試使用DataContract
使用class
,我無法閱讀。
[HttpGet]
[Route("api/Host")]
public async Task<HostResponse> GetHostInfo([FromUri] HostInfo hostInfo)
{
}
[DataContract]
public class HostInfo
{
[DataMember(Name = "host_name")]
public string HostName { get; set; }
[DataMember(Name = "host_zipcode")]
public string HostZipCode { get; set; }
[DataMember(Name = "host_id")]
public string HostId { get; set; }
}
我也試過:
public class DeliveryManagerStatus
{
[JsonProperty(PropertyName = "country")]
public string Country { get; set; }
[JsonProperty(PropertyName = "delivery_provider")]
public string DeliveryProvider { get; set; }
[JsonProperty(PropertyName = "job_id")]
public string JobId { get; set; }
}
我如何分配這些屬性的一類?
這個工程。謝謝。 – CSharper