響應物件Response到底如何設計?

2021-10-01 03:26:52 字數 796 閱讀 2730

在接收第三方介面或者自己寫的也好,當返回的是json字串時,你是如何接收的呢?只要規範點,一般都會在response類中定義如下三個屬性:

public

class

response

加入介面返回的json字串是這樣的:

或者是這樣的:

}

注意data屬性可能是null、陣列、物件。然後使用json解析庫:fastjson、gson,這些都是大同小異的,我就以fastjson為例。上面列出的三種情況fastjson都是可以正常解析的。但,如果介面返回的是這樣的:

或者

注意data裡面不是物件也不是陣列,而是單個型別:布林、數字、字串的時候,使用fastjson來解析就會出現型別轉換異常!

之所以出現這樣的問題,還是因為介面返回不合理造成的。但是有時候我們並不能去改變他們什麼,只好自己來做處理。解決辦法就是data屬性不能使用泛型,而是使用object:

public

class

response

或者如果可能的話,作為架構的設計者,你應該限制data屬性必須是陣列或者是物件形式,不能其它基本資料型別(包括字串)。

response物件(響應物件)

1 想要獲取客戶端的內容,使用request物件。2 對客戶端做出響應,使用response物件。狀態碼 void setstatus int sc 設定狀態碼 302重定向 304控制快取 設定頭資訊 void setheader string name,string value 乙個key對應乙...

Django 中的響應物件 Response

檢視在接收請求並處理後,必須返回httpresponse物件或子物件。httprequest物件由django建立,httpresponse物件由開發人員建立。可以使用django.http.httpresponse來構造響應物件。httpresponse content 響應體,content t...

express 請求物件 響應物件

req.params 乙個陣列,包含命名過的路由引數 req.param name 返回命名的路由引數 req.query 乙個物件,以鍵值對存放的查詢字串引數 req.body 乙個物件,包含post請求 req.router 當前匹配路由資訊 req.cookies 乙個物件,包含客服端傳來的c...