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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

SpringMVC中@PathVariable與@PathParam講解

標(biāo)簽:
Spring

后端如何获取前端传的参数

传统来讲,肯定是两种方式为主,一种是 GET ,一种是 POST ,这两种方式都是向一个 URL 传参 GET 方式体现到了地址栏里,POST 方式将内容放在了 body 里

@RequestParam@PathVariable 注解是用于从 request 中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从 request 里面拿取值,而 @PathVariable 是从一个URI模板里面来填充


@PathVariable

通过 URI 模板来填充
举例:

	@RequestMapping(value = "/getbyid/{id}", method = RequestMethod.GET)
	@ResponseBody
	private Map<String, Object> getbyid( HttpServletRequest request,@PathVariable("id") int idnum){
		Map<String, Object> modelMap = new HashMap<String, Object>();
		modelMap.put("idnum", idnum);
		return modelMap;
	}

当我们访问:

http://localhost:8080/upmovie/movie/getbyid/19

图片描述

我们可以直接获取地址里的19

@PathParam

获取 request 里的值

	@RequestMapping(value = "/getbyid", method = RequestMethod.GET)
	@ResponseBody
	private Map<String, Object> getbyid( HttpServletRequest request,@RequestParam(value="id", required=true)int idnum){
		Map<String, Object> modelMap = new HashMap<String, Object>();
		modelMap.put("idnum", idnum);
		return modelMap;
	}

当我们访问:

http://localhost:8080/upmovie/movie/getbyid?id=21

图片描述

我们只能获取 ?id 的值,如果是 POST 方式,我们也可以获取指定值

优缺点

直接获取 URI 模板里的值是很方便的,不用去获取 request 里的固定参数,比较直接,藏在 request 里的使用 POST 方式会优雅一点,如果只是 ID 这种单个或者多个数字字母,使用 @PathVariable 会好很多,这里借鉴的是 thinkphp5 里的优点加以利用。

总结

我认为在单个参数提交 API 获取信息的时候,直接放在 URL 地址里,也就是使用 URI 模板的方式是非常方便的,而不使用 @PathVariable 还需要从 request 里提取指定参数,多一步操作,所以如果提取的是多个参数,而且是多个不同类型的参数,我觉得应该使用其他方式,也就是 @PathParam。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
31
獲贊與收藏
155

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

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

幫助反饋 APP下載

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

公眾號

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

舉報

0/150
提交
取消