所以我构建了一个REST API,它本身也消耗了另一个API。现在我可以调用另一个api,从该调用创建对象,然后发出一个新请求并发送它的方式,但这会耗费一些性能。
我尝试再次发送第二个请求,但问题是Content再次序列化它,所以我得到了很多反斜杠。这是我的代码:
[Route("")]
public IHttpActionResult GetAllDevices()
{
var request = new RestRequest();
request = new RestRequest("devices", Method.GET);
IRestResponse response = client.Execute(request);
return Content(HttpStatusCode.OK, response.Content);//response.Content get's serialized again.
}
正如我所说,我可以对第一个电话进行反序列化,然后将其放入内容中,但感觉不必要。
答案 0 :(得分:0)
这是一种方法,记得在需要时将内容类型显式设置为application / json:
[HttpGet]
[Route("test")]
public HttpResponseMessage Test()
{
const string json = "{ \"test\": 123 }"; // from RestClient
var res = Request.CreateResponse();
res.Content = new StringContent(json);
res.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
return res;
}