C#如何使用内容

时间:2017-04-26 10:43:15

标签: c# serialization

所以我构建了一个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.
    }

正如我所说,我可以对第一个电话进行反序列化,然后将其放入内容中,但感觉不必要。

1 个答案:

答案 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;
    }