如何将请求发布到 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 一起工作呢?