當你從asp.net核心控制器返回一個響應時,你可以用兩種方式返回數據(可能還有更多,但我只關注這兩個方面)。我的問題是兩種方法(如果有的話)之間的區別是什麼;返回值直接寫入身體?Body.Write和返回字符串有什麼不同嗎?
[HttpGet("Fetch_Write")]
public void Fetch_Write()
{
HttpContext.Response.ContentType = "application/json";
var s = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new { data = "my_fetched_data" }));
HttpContext.Response.Body.Write(s, 0, s.Length);
}
在上面的函數的返回類型的方法是無效的,我直接寫內容到響應的身體,但我下面的函數的版本返回一個字符串。使用郵遞員時,我從兩個API調用中獲得相同的響應,這兩者之間是否有區別?我應該使用一個嗎?
[HttpGet("Fetch_Return")]
public string Fetch_Return()
{
HttpContext.Response.ContentType = "application/json";
return JsonConvert.SerializeObject(new { data = "my_fetched_data" });
}
我的猜測是是返回一個字符串的函數執行後下樓它作爲我的第一個代碼段的功能都做,但我不知道的內容寫入主體的行類似的東西。