簡體   English   中英

REST服務Java的GET請求的參數

[英]Params for a GET request for a REST Service Java

我正在用Java創建REST服務,並且對GET方法的參數有疑問。 我必須在GET請求中傳遞以下參數

功能

“ GET”文件狀態:

PARAMS:

時間范圍:(字符串)

流ID:(字符串)

ID_A =或ID_B =或兩者(字符串)

IS_ADD_A =或IS_ADD_B =或兩者(字符串)

正則表達式=(字符串)

餅干= XXXXX

因此,由於有6個參數,因此將其作為查詢字符串傳遞將不是一種有效的方法,而在正文中卻不能做到相同(因為它針對HTTP GET規范)將其作為POST調用將針對REST我想從服務器獲取數據的原理,什么是解決此問題的有效方法,將毫無疑問地將參數傳遞為查詢字符串,將其傳遞給與HTTP規范相反的主體,使其成為標頭同樣不好,將其作為POST請求,這將破壞現場的REST原則。

在HTTP GET調用的主體中傳遞數據不僅違反規范,而且還會導致各種服務器端技術出現問題,這些技術假定您不需要在GET調用中訪問主體。 (某些客戶端框架在GET和主體查詢方面也存在一些問題)如果使用長參數查詢,我將使用POST。 然后,它使用POST來獲取數據,但您不是唯一要采用這種方式來支持潛在的大型查詢的人。

如果您的參數值不是很長,那么在這里使用查詢字符串是您的最佳選擇。 只要您不超過路徑中字符的IE限制-6,048( http://www.boutell.com/newfaq/misc/urllength.html ),6個參數就不是很多。 例如,谷歌搜索引擎使用的參數比6多得多。如果URL路徑可能超過上述限制,則應改用POST。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM