@PathParam和@QueryParam區(qū)別簡析
本文主要研究的是@PathParam和@QueryParam區(qū)別問題,具體如下。
問題
今天調(diào)試一個上傳功能,客戶端手持機(jī)發(fā)送數(shù)據(jù),在URL中附加一個參數(shù),后臺用@PathParam接收,但是報(bào)錯,無法獲取這個參數(shù)。
url:http://192.168.1.3/web1_service/convert/vict_hj1000?unit=160106

代碼
@Path("/vict_hj1000")
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response createVictHJ1000Detect(@FormDataParam("name0") InputStream uploadedInputStream, @PathParam("unit") Long unit) throws JSONException {
也就是說,這個unit參數(shù)獲取不到,怎么回事呢?
原因解釋
網(wǎng)上查了一遍,找到了原因,是url中參數(shù)的寫法不對,導(dǎo)致后臺的@PathParam無法獲取,下面列出@PathParam和@QueryParam的區(qū)別:
1. @PathParam ,url中直接在斜杠后面添加參數(shù)值, 例如:www.a.com/student/001 ;
2. @QueryParam ,url中在后面添加【鍵值對】形式的參數(shù),例如:www.a.com/student?id=001 ;
我的應(yīng)用里面,url用的是鍵值對形式的參數(shù),而后臺用的是@PathParam,不匹配,因此無法獲取。
解決辦法就是修改URL,取消鍵值對,在斜杠后直接加參數(shù)值,改成:
http://192.168.1.3/web1_service/convert/vict_hj1000/160106
并且后臺修改@Path注解,改為:
@Path("/vict_hj1000/{unit}")
問題解決!
總結(jié)
以上就是本文關(guān)于@PathParam和@QueryParam區(qū)別簡析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
spring?boot?3使用?elasticsearch?提供搜索建議的實(shí)例詳解
這篇文章主要介紹了spring?boot3使用elasticsearch提供搜索建議,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
mybatis plus自動生成代碼tinyint(1)自動轉(zhuǎn)換為Boolean的問題及解決
這篇文章主要介紹了mybatis plus自動生成代碼tinyint(1)自動轉(zhuǎn)換為Boolean的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Spring定時任務(wù)輪詢本地?cái)?shù)據(jù)庫實(shí)現(xiàn)過程解析
這篇文章主要介紹了Spring定時任務(wù)輪詢本地?cái)?shù)據(jù)庫實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
java中實(shí)現(xiàn)漢字按照拼音排序(示例代碼)
這篇文章主要是對java中將漢字按照拼音排序的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
Java之關(guān)于基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的存放位置
這篇文章主要介紹了Java之關(guān)于基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的存放位置,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07

