2017-04-26 35 views
0

因此,我已經構建了一個REST API本身也消耗另一個API。現在我可以調用其他api,從該調用創建對象,然後發出新的請求並將其發送,但這會耗盡一些性能。C#如何不序列化已經序列化的字符串與內容

我試着再次發送第二個請求,但問題是內容再次序列化,所以我得到了很多反斜槓。這是我的代碼,這是否:

[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

如果第一個請求返回的字符串作爲響應,然後把它粘在的StringContent,然後從ur服務返回那個stringco帳篷。 – loneshark99

+0

但是,然後我的API只是返回一個字符串不正確的請求? – MaxDax

+0

你是什麼意思? – loneshark99

回答

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; 
    } 
+0

這工作!謝謝 – MaxDax