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中數(shù)組和字符串類(lèi)型的使用方法
這篇文章主要介紹了舉例講解Java中數(shù)組和字符串類(lèi)型的使用方法,是Java入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09
關(guān)于Java整合RocketMQ實(shí)現(xiàn)生產(chǎn)消費(fèi)詳解
這篇文章主要介紹了關(guān)于Java整合RocketMQ實(shí)現(xiàn)生產(chǎn)消費(fèi)詳解,RocketMQ作為一款純java、分布式、隊(duì)列模型的開(kāi)源消息中間件,支持事務(wù)消息、順序消息、批量消息、定時(shí)消息、消息回溯等,需要的朋友可以參考下2023-05-05
實(shí)現(xiàn)一個(gè)基于Servlet的hello world程序詳解步驟
Java Servlet 是運(yùn)行在 Web 服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來(lái)自 Web 瀏覽器或其他 HTTP 客戶(hù)端的請(qǐng)求和 HTTP 服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序之間的中間層2022-02-02
SpringBoot實(shí)現(xiàn)文件下載功能的方式分享
這篇文章主要為大家詳細(xì)介紹了SpringBoot這哪個(gè)實(shí)現(xiàn)文件下載功能的幾種方式,文中的實(shí)現(xiàn)方法簡(jiǎn)介易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03
Java對(duì)zip,rar,7z文件帶密碼解壓實(shí)例詳解
在日常業(yè)務(wù)中,會(huì)遇到一些瑣碎文件需要打包到一個(gè)壓縮包中上傳,業(yè)務(wù)方在后臺(tái)接收到壓縮包后自行解壓,然后解析相應(yīng)文件。而且可能涉及安全保密,因此會(huì)在壓縮時(shí)帶上密碼,要求后臺(tái)業(yè)務(wù)可以指定密碼進(jìn)行解壓。本文將用Java解決這一問(wèn)題,需要的可以參考一下2022-07-07
淺談springboot多模塊(modules)開(kāi)發(fā)
這篇文章主要介紹了淺談springboot多模塊(modules)開(kāi)發(fā),詳細(xì)的介紹了springboot多模塊的實(shí)現(xiàn),有興趣的可以了解一下2017-09-09
mybatis?plus實(shí)現(xiàn)分頁(yè)邏輯刪除
這篇文章主要為大家介紹了mybatis?plus實(shí)現(xiàn)分頁(yè)邏輯刪除的方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

