5. 響應(yīng)對象

2018-02-24 16:10 更新

當(dāng)發(fā)起一個rpc調(diào)用時,除通知之外,服務(wù)端都必須回復(fù)響應(yīng)。響應(yīng)表示為一個JSON對象,使用以下成員:

jsonrpc

指定JSON-RPC協(xié)議版本的字符串,必須準確寫為“2.0”

result

該成員在成功時必須包含。

當(dāng)調(diào)用方法引起錯誤時必須不包含該成員。

服務(wù)端中的被調(diào)用方法決定了該成員的值。

error

該成員在失敗是必須包含。

當(dāng)沒有引起錯誤的時必須不包含該成員。

該成員參數(shù)值必須為5.1中定義的對象。

id

該成員必須包含。

該成員值必須于請求對象中的id成員值一致。

若在檢查請求對象id時錯誤(例如參數(shù)錯誤或無效請求),則該值必須為空值。

響應(yīng)對象必須包含result或error成員,但兩個成員必須不能同時包含。

5.1 錯誤對象

當(dāng)一個rpc調(diào)用遇到錯誤時,返回的響應(yīng)對象必須包含錯誤成員參數(shù),并且為帶有下列成員參數(shù)的對象:

code

使用數(shù)值表示該異常的錯誤類型。 必須為整數(shù)。

message

對該錯誤的簡單描述字符串。 該描述應(yīng)盡量限定在簡短的一句話。

data

包含關(guān)于錯誤附加信息的基本類型或結(jié)構(gòu)化類型。該成員可忽略。 該成員值由服務(wù)端定義(例如詳細的錯誤信息,嵌套的錯誤等)。

-32768至-32000為保留的預(yù)定義錯誤代碼。在該范圍內(nèi)的錯誤代碼不能被明確定義,保留下列以供將來使用。錯誤代碼基本與XML-RPC建議的一樣,url:?http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php

code message meaning
-32700 Parse error語法解析錯誤 服務(wù)端接收到無效的json。該錯誤發(fā)送于服務(wù)器嘗試解析json文本
-32600 Invalid Request無效請求 發(fā)送的json不是一個有效的請求對象。
-32601 Method not found找不到方法 該方法不存在或無效
-32602 Invalid params無效的參數(shù) 無效的方法參數(shù)。
-32603 Internal error內(nèi)部錯誤 JSON-RPC內(nèi)部錯誤。
-32000 to -32099 Server error服務(wù)端錯誤 預(yù)留用于自定義的服務(wù)器錯誤。

除此之外剩余的錯誤類型代碼可供應(yīng)用程序作為自定義錯誤。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號