要求を Web API に Xml として投稿するには?
以下のテストを使用しています。
[TestMethod]
public void Should_post_successfully_with_valid_userDetailsList_usingRestSharp()
{
// arrange
string url = string.Format("{0}/User/BulkLoad", this._baseUrlForLuis);
var client = new RestClient(url);
var request = new RestRequest(Method.POST)
{
RequestFormat = DataFormat.Xml
};
request.AddBody("<user></user>");
request.AddHeader("Accept", "application/xml");
// act
IRestResponse response = client.Execute<HttpResponseMessage>(request);
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
}
私の行動は以下のようになります。文字列を受け入れます:
[HttpPost]
public HttpResponseMessage BulkLoad([FromBody] string userDetailsListXml)
{
}
ただし、userDetailsListXml は常に null であるため、値は渡されません。
修正方法は?
Ajax Post で試してみたところ、以下のコードが渡されて正常に動作します。
$.post("http://www.domain.com/User/BulkLoad", {"" : "<user></user>"});
しかし、RestSharp で動作させるにはどうすればよいでしょうか?