SpringBoot之Controller的使用詳解
本文介紹了 SpringBoot之Controller的使用,分享給大家,具體如下:
1.@Controller:處理http請(qǐng)求
2.@RestController:Spring4之后新加的注解,原來(lái)返回json需要@ResponseBody配合@Controller
3.@RequestMapping 配置url映射
1.現(xiàn)在有一個(gè)需求(即可以使用localhost:8080/hello和localhost:8080/hi都可以訪問(wèn)):
@RestController public class HelloController { @RequestMapping(value={"/hello","hi"},method = RequestMethod.GET)//使用集合設(shè)置 public String say(){ return "Hello Spring Boot"; } }
SpringBoot獲取請(qǐng)求參數(shù)
1.@PathVariable–>獲取url中的數(shù)據(jù)
2.@ReqeustParam–>獲取請(qǐng)求參數(shù)的值,可以設(shè)置默認(rèn)值以及是否必傳
3.@GetMapping–>組合注解(相當(dāng)于@RequestMapping同時(shí)限定請(qǐng)求方法為GET 方式)
1.第一種方式:
假如http://localhost:8080/hello為請(qǐng)求,springboot為需要傳遞的參數(shù):http://localhost:8080/hello/spingboot,獲取此種請(qǐng)求的參數(shù)的方式,使用@PathVariable注解
@RestController public class HelloController { @RequestMapping("/hello/{params}")//獲取請(qǐng)求為http://localhost:8080/hello/XXX 類(lèi)型的參數(shù) public String hello(@PathVariable("params") String paramsStr) {//聲明一個(gè)變量接收請(qǐng)求中的參數(shù) return "parameter is "+paramsStr; } }
運(yùn)行程序,輸入http://localhost:8080/hello/spingboot進(jìn)行測(cè)試:
2.第二種方式:
獲取請(qǐng)求為http://localhost:8080/hello?params=spingboot類(lèi)型的參數(shù),使用@RequesParam注解,使用方法為@RequesParam("請(qǐng)求中的參數(shù)名params")
@RestController public class HelloController { //獲取請(qǐng)求為http://localhost:8080/hello?xxx=xxx類(lèi)型的參數(shù) @RequestMapping("/hello") public String hello(@RequestParam("params") String paramsStr) {//requestParam中的參數(shù)名稱(chēng)與請(qǐng)求中參數(shù)名稱(chēng)要一致 return "parameter is "+paramsStr; } }
如:@RequestParam(value="item_id",required=true) String id
@RequestParam中的其他屬性:
--required:是否必須,默認(rèn)是true,表示請(qǐng)求中一定要有相應(yīng)的參數(shù),否則將報(bào)錯(cuò)
--defaultValue:默認(rèn)值,表示如果請(qǐng)求中沒(méi)有同名參數(shù)時(shí)的默認(rèn)值
啟動(dòng)程序,輸入http://localhost:8080/hello?params=spingboot:
對(duì)于@RequestMapping(value="/hello",method = RequestMethod.GET)可以使用:@GetMapping(value="/hello"),如果是Post的話(huà)就是用@PostMapping
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Java回顧之網(wǎng)絡(luò)通信的應(yīng)用分析
在這篇文章里,我們主要討論如何使用Java實(shí)現(xiàn)網(wǎng)絡(luò)通信,包括TCP通信、UDP通信、多播以及NIO2013-05-05MyBatis-plus實(shí)現(xiàn)逆向生成器
本文主要介紹了MyBatis-plus實(shí)現(xiàn)逆向生成器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08springboot2.x默認(rèn)使用的代理是cglib代理操作
這篇文章主要介紹了springboot2.x默認(rèn)使用的代理是cglib代理操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08springboot 實(shí)現(xiàn)mqtt物聯(lián)網(wǎng)的示例代碼
這篇文章主要介紹了springboot 實(shí)現(xiàn)mqtt物聯(lián)網(wǎng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Java實(shí)現(xiàn)Fibonacci(斐波那契)取余的示例代碼
這篇文章主要介紹了Java實(shí)現(xiàn)Fibonacci取余的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Java利用cors實(shí)現(xiàn)跨域請(qǐng)求實(shí)例
本篇文章主要介紹了Java利用cors實(shí)現(xiàn)跨域請(qǐng)求實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05Java?超詳細(xì)講解類(lèi)的定義方式和對(duì)象的實(shí)例化
Java是一門(mén)純面向?qū)ο蟮恼Z(yǔ)言(Object?Oriented?Program,繼承OOP),在面對(duì)對(duì)象的世界里面,一切皆為對(duì)象。面向?qū)ο笫墙鉀Q問(wèn)題的一種思想,主要依靠對(duì)象之間的交互完成一件事情2022-03-03詳解Spring Boot實(shí)戰(zhàn)之Filter實(shí)現(xiàn)使用JWT進(jìn)行接口認(rèn)證
本篇文章主要介紹了詳解Spring Boot實(shí)戰(zhàn)之Filter實(shí)現(xiàn)使用JWT進(jìn)行接口認(rèn)證,具有一定的參考價(jià)值,有興趣的可以了解一下2017-07-07基于maven使用IDEA創(chuàng)建多模塊項(xiàng)目
這篇文章主要介紹了基于maven使用IDEA創(chuàng)建多模塊項(xiàng)目,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04