2

要求を 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 で動作させるにはどうすればよいでしょうか?

4

1 に答える 1