第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

400錯(cuò)誤請(qǐng)求HTTP錯(cuò)誤代碼意味著?

400錯(cuò)誤請(qǐng)求HTTP錯(cuò)誤代碼意味著?

德瑪西亞99 2019-06-20 17:17:49
400錯(cuò)誤請(qǐng)求HTTP錯(cuò)誤代碼意味著?我有一個(gè)JSON請(qǐng)求,我將其發(fā)送到HTTPURL。如果這被視為400哪里requestedResource字段存在但"Roman"此字段的值無效嗎?[{requestedResource:"Roman"}]如果這被視為400哪里"blah"場(chǎng)根本不存在?[{blah:"Roman"}]
查看完整描述

3 回答

?
繁星點(diǎn)點(diǎn)滴滴

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊

A 400表示請(qǐng)求格式錯(cuò)誤。換句話說,客戶端發(fā)送到服務(wù)器的數(shù)據(jù)流不遵循規(guī)則。

對(duì)于帶有JSON有效負(fù)載的RESTAPI,400通常(我要說是正確的)用來表示JSON在某種程度上是無效的,根據(jù)服務(wù)的API規(guī)范。

按照這種邏輯,您提供的兩個(gè)場(chǎng)景都應(yīng)該是400個(gè)。

想象一下,這是XML而不是JSON。在這兩種情況下,XML都不會(huì)通過模式驗(yàn)證-要么是因?yàn)橐粋€(gè)未定義的元素,要么是一個(gè)不正確的元素值。這是個(gè)很糟糕的要求。這里也是一樣的。


查看完整回答
反對(duì) 回復(fù) 2019-06-20
?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

從…w3.org

10.4.1 400不良請(qǐng)求

由于格式錯(cuò)誤,服務(wù)器無法理解請(qǐng)求。客戶端不應(yīng)在沒有修改的情況下重復(fù)請(qǐng)求。


查看完整回答
反對(duì) 回復(fù) 2019-06-20
?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊

選擇HTTP響應(yīng)代碼非常容易,可以用簡(jiǎn)單的規(guī)則來描述。經(jīng)常被遺忘的唯一棘手的部分是RFC 7231的第6.5段:

除非響應(yīng)HEAD請(qǐng)求,否則服務(wù)器應(yīng)該發(fā)送包含錯(cuò)誤情況解釋的表示,以及它是臨時(shí)的還是永久性的。

規(guī)則如下:

  1. 如果請(qǐng)求成功,則返回2xx代碼(3xx用于重定向)。如果服務(wù)器上存在內(nèi)部邏輯錯(cuò)誤,則返回5xx。如果客戶端請(qǐng)求中有任何錯(cuò)誤,則返回4xx代碼。
  2. 查看選定類別的可用響應(yīng)代碼。如果其中之一的名稱與您的情況非常匹配,您可以使用它。否則,只返回到x00代碼(200,400,500)。如果你懷疑,回到x00代碼。
  3. 返回響應(yīng)體中的錯(cuò)誤描述。對(duì)于4xx代碼,它必須包含足夠的信息,以便客戶端開發(fā)人員了解原因并修復(fù)客戶端。對(duì)于5xx,由于安全原因,不需要透露任何細(xì)節(jié)。
  4. 如果客戶端需要區(qū)分不同的錯(cuò)誤,并根據(jù)不同的錯(cuò)誤有不同的反應(yīng),請(qǐng)定義一種機(jī)器可讀和可擴(kuò)展的錯(cuò)誤格式,并在API中的任何地方使用它。從一開始就這樣做是很好的做法。
  5. 請(qǐng)記住,客戶端開發(fā)人員可能會(huì)做一些奇怪的事情,并嘗試解析字符串,這些字符串作為人類可讀的描述返回。通過更改字符串,您將破壞如此糟糕的客戶端。因此,請(qǐng)始終提供機(jī)器可讀的描述,并盡量避免在文本中報(bào)告其他信息。

因此,在您的例子中,我返回了400個(gè)錯(cuò)誤,如果從用戶輸入中獲得“Roman”,客戶端必須有特定的反應(yīng):

{
    "error_type" : "unsupported_resource",
    "error_description" : "\"Roman\" is not supported"
}

或者更一般的錯(cuò)誤,如果這種情況在客戶端是一個(gè)糟糕的邏輯錯(cuò)誤,并且是不被期望的,除非開發(fā)人員做錯(cuò)了什么:

{
    "error_type" : "malformed_json",
    "error_description" : "\"Roman\" is not supported for \"requestedResource\" field"
}


查看完整回答
反對(duì) 回復(fù) 2019-06-20
  • 3 回答
  • 0 關(guān)注
  • 5457 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)