私は次のようなビューモデルを持っています。
public class StoreItemViewModel
{
public Guid ItemId { get; set; }
public List<Guid> StoreIds { get; set; }
[Required]
public string Description { get; set; }
//[Required]
//[DataMember(IsRequired = true)]
public int ItemTypeId { get; set; }
}
RestSharp を使用している小さなヘルパーがあります。
public static IRestResponse Create<T>(object objectToUpdate, string apiEndPoint) where T : new()
{
var client = new RestClient(CreateBaseUrl(null))
{
Authenticator = new HttpBasicAuthenticator("user", "Password1")
};
var request = new RestRequest(apiEndPoint, Method.POST);
//request.JsonSerializer = new JsonSerializer();
// {RequestFormat = DataFormat.Json};
request.AddObject(objectToUpdate);
// clientJsonSerializer = new YourCustomSerializer();
var response = client.Execute<T>(request);
return response;
}
私のAPI内でコントローラーをデバッグするとき
[HttpPost]
public HttpResponseMessage Create([FromBody]StoreItemViewModel myProduct)
{
//check fields are valid
.........
}
myProducts 製品はすべて、空の Guid を持つ 1 つの報酬を常に返す public List StoreIds とは別に取り込まれます。2 つ以上の StoreId を追加した場合でも
これは、アプリケーション内の Create ヘルパーに問題があるためだと思います。
誰でもこれを手伝ってもらえますか。これは大きな頭痛の種です。
webapiに送信される生データは次のようになります
ItemId=f6dbd244-e840-47e1-9d09-53cc64cd87e6&ItemTypeId=6&Description=blabla&StoreIds=d0f36ef4-28be-4d16-a2e8-37030004174a&StoreIds=f6dbd244-e840-47e1-9d09-53cc64cd87e6&StoreId=d0f36ef4-28be-4d16-a2e8-37030004174a