您好,登錄后才能下訂單哦!
本文介紹了 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 類型的參數(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類型的參數(shù),使用@RequesParam注解,使用方法為@RequesParam("請(qǐng)求中的參數(shù)名params")
@RestController public class HelloController { //獲取請(qǐng)求為http://localhost:8080/hello?xxx=xxx類型的參數(shù) @RequestMapping("/hello") public String hello(@RequestParam("params") String paramsStr) {//requestParam中的參數(shù)名稱與請(qǐng)求中參數(shù)名稱要一致 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的話就是用@PostMapping
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。