溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SpringBoot之Controller的使用詳解

發(fā)布時(shí)間:2020-10-19 12:32:38 來(lái)源:腳本之家 閱讀:191 作者:ren-zhe 欄目:編程語(yǔ)言

本文介紹了 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è)試:

SpringBoot之Controller的使用詳解

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:

SpringBoot之Controller的使用詳解

對(duì)于@RequestMapping(value="/hello",method = RequestMethod.GET)可以使用:@GetMapping(value="/hello"),如果是Post的話就是用@PostMapping

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI