欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring服務(wù)注解有哪些

 更新時(shí)間:2016年11月14日 16:00:18   作者:zhougl996  
這篇文章主要介紹了Spring服務(wù)注解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
@RequestMapping(value ="/xxx",method = RequestMethod.GET)
@GetMapping,@PostMapping,@PutMapping,@DeleteMapping為@RequestMapping縮寫

1. @GetMapping

對(duì)應(yīng)注解

@RequestMapping(value = “/get/{id}”, method = RequestMethod.GET)

作用:對(duì)應(yīng)查詢,獲得數(shù)據(jù),表明是一個(gè)查詢請(qǐng)求

2. @PostMapping

對(duì)應(yīng)注解

@RequestMapping(value = “/add/user”,method = RequestMethod.POST)

作用:對(duì)應(yīng)添加,添加數(shù)據(jù),表明是一個(gè)添加請(qǐng)求

3. @PutMapping

對(duì)應(yīng)注解

@RequestMapping(value = “/modify/user”,method = RequestMethod.PUT)

作用:對(duì)應(yīng)更新,更新數(shù)據(jù),表明是一個(gè)更新請(qǐng)求

4. @DeleteMapping

對(duì)應(yīng)注解

@RequestMapping(value = “/del/{id}”,method = RequestMethod.DELETE)

作用:對(duì)應(yīng)刪除,刪除數(shù)據(jù),表明是一個(gè)刪除請(qǐng)求

5.@PathVariable

用于處理路徑參數(shù): /list/{id}

常用于Get,Delete

可以匹配正則表達(dá)式 例如:{id: [a-zA-Z0-9]+} 不符合正則會(huì)報(bào)404

@RequestMapping("/list/{id}")
public xxx list(@PathVariable String id){
    return xxx;
}
// 或者
@RequestMapping("/list/{id}")
public xxx list(@PathVariable("id") String id){
    return xxx;
}

6. @RequestParam

用于處理請(qǐng)求頭內(nèi)的元素:Content-Type 

常用于Get,Delete

可加可不加:不加則 /list或/list?id=xxx都能訪問(wèn)成功服務(wù);

加上需要required默認(rèn)為true必須用/list?id=xxx,設(shè)置required為false則于不加一樣

@RequestMapping("/list")
public xxx list(String id){
    return xxx;
}
// 兩者效果一樣
@RequestMapping("/list")
public xxx list(@RequestParam(value="id",required=false) String id){
    return xxx;
}
  • value:請(qǐng)求參數(shù)名;
  • required:是否必需,默認(rèn)為 true; true 標(biāo)識(shí)必須帶參數(shù)例如:/list?id=xxx;反之則為/list
  • defaultValue:默認(rèn)值,設(shè)置該值,required 將自動(dòng)設(shè)為 false,不傳則值為defaultValue設(shè)置的默認(rèn)值

7.@RequestBody

用于處理請(qǐng)求體中的內(nèi)容: application/json,application/xml

常用于:Post,Put

加上RequestBody后會(huì)自動(dòng)轉(zhuǎn)換成map,list,實(shí)體類等

傳參的方式,對(duì)應(yīng)以上三種注解:

  • 路徑參數(shù): /list/{id} 
  • 請(qǐng)求頭:/list?id=xxx
  • 請(qǐng)求體: json或xml

@RequestParam和@PathVariable相同點(diǎn)和區(qū)別

相同點(diǎn):

  • 根據(jù)用戶輸入不同獲取不同服務(wù)

不同點(diǎn):

PathVariable:

  • 路徑傳值:/list/{name}/file/{id} => /list/user1/file/123; /list/user2/file/223

必須傳值

  • 多用于:當(dāng)URL指向的是某一具體業(yè)務(wù)資源(或資源列表),例如博客,用戶時(shí)

RequestParam:

  • 請(qǐng)求頭傳值/list?id=xxx
  • 可以通過(guò)required選擇傳不傳
  • 可以通過(guò)defaultValue設(shè)置默認(rèn)值

多用于:當(dāng)URL需要對(duì)資源或者資源列表進(jìn)行過(guò)濾,篩選時(shí)

8.RequestBody和RequestParam分別支持的類型

在 Spring MVC 中,`@RequestBody` 和 `@RequestParam` 注解都可以用于接收請(qǐng)求參數(shù),但是它們所支持的參數(shù)類型有所不同。

`@RequestBody` 注解不支持簡(jiǎn)單類型參數(shù)的接收,它可以將請(qǐng)求體中的數(shù)據(jù)以快捷的方式綁定到 Java 對(duì)象或?qū)ο蠹?/strong>上。

需要注意的是,`@RequestBody` 默認(rèn)只能接收 Content-Type 為 application/json 的請(qǐng)求體,但是您可以通過(guò)配置更改為接收其他類型的請(qǐng)求體

例如 application/xml、application/x-www-form-urlencoded 等。

常見(jiàn)數(shù)據(jù)類型:

  • JSONObject,List<String>, Map<String, String>,Java對(duì)象
  • JSON 格式的請(qǐng)求體:將請(qǐng)求體轉(zhuǎn)為 Java 對(duì)象
  • XML 格式的請(qǐng)求體:將請(qǐng)求體轉(zhuǎn)為 Java 對(duì)象
  • application/x-www-form-urlencoded 格式的請(qǐng)求體:將請(qǐng)求體轉(zhuǎn)為一個(gè) Map<String, String> 對(duì)象

`@RequestParam` 注解則用于接收 URL 查詢字符串中的參數(shù),或者表單中的參數(shù),它支持簡(jiǎn)單類型參數(shù)的接收

例如 String、int、double 等基本類型,同時(shí)也支持自定義類型的轉(zhuǎn)換。

常見(jiàn)數(shù)據(jù)類型:

  • String:接收一個(gè)字符串參數(shù)
  • 基本類型:int、long、float、double、short、boolean 等
  • 封裝類型:Integer、Long、Float、Double、Short、Boolean 等
  • 日期類型:java.util.Date、java.time.Instant、java.time.LocalDate、java.time.LocalDateTime 等
  • 文件類型:MultipartFile、Part 等

總之

當(dāng)您需要處理請(qǐng)求體中的數(shù)據(jù)時(shí),使用 `@RequestBody` 注解;當(dāng)您需要處理 URL 中的查詢字符串或表單數(shù)據(jù)時(shí),使用 `@RequestParam` 注解。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis?ofType和javaType的區(qū)別說(shuō)明

    MyBatis?ofType和javaType的區(qū)別說(shuō)明

    這篇文章主要介紹了MyBatis?ofType和javaType的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • java實(shí)戰(zhàn)案例之用戶注冊(cè)并發(fā)送郵件激活/發(fā)送郵件驗(yàn)證碼

    java實(shí)戰(zhàn)案例之用戶注冊(cè)并發(fā)送郵件激活/發(fā)送郵件驗(yàn)證碼

    現(xiàn)在很多的網(wǎng)站都提供有用戶注冊(cè)功能,當(dāng)我們注冊(cè)成功之后就會(huì)收到封注冊(cè)網(wǎng)站的郵件,郵件里包含了我們的注冊(cè)的用戶名和密碼及激活賬戶的超鏈接等信息,這篇文章主要給大家介紹了關(guān)于java實(shí)戰(zhàn)案例之用戶注冊(cè)并發(fā)送郵件激活/發(fā)送郵件驗(yàn)證碼的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 從Springboot項(xiàng)目中下載文件的具體過(guò)程

    從Springboot項(xiàng)目中下載文件的具體過(guò)程

    最近在做一個(gè)臨時(shí)的項(xiàng)目,APP端在檢測(cè)到程序有更新時(shí),需要去后臺(tái)下載新的安裝包,接下來(lái)通過(guò)本文給大家分享從Springboot項(xiàng)目中下載文件的具體過(guò)程,感興趣的朋友一起看看吧
    2021-07-07
  • SpringBoot中處理日期的兩種方式小結(jié)

    SpringBoot中處理日期的兩種方式小結(jié)

    本文主要介紹了SpringBoot中處理日期的兩種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 通過(guò)實(shí)例解析Spring組合注解與元注解

    通過(guò)實(shí)例解析Spring組合注解與元注解

    這篇文章主要介紹了通過(guò)實(shí)例解析Spring組合注解與元注解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java使用字節(jié)流復(fù)制文件的方法

    Java使用字節(jié)流復(fù)制文件的方法

    這篇文章主要為大家詳細(xì)介紹了Java使用字節(jié)流復(fù)制文件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • SpringMVC中DispatcherServlet的HandlerMapping詳解

    SpringMVC中DispatcherServlet的HandlerMapping詳解

    這篇文章主要介紹了SpringMVC中DispatcherServlet的HandlerMapping詳解,上回說(shuō)的Handler,我們說(shuō)是處理特定請(qǐng)求的,也就是說(shuō),不是所有的請(qǐng)求都能處理,那么問(wèn)題來(lái)了,我們?cè)踔滥膫€(gè)請(qǐng)求是由哪個(gè)Handler處理的呢,需要的朋友可以參考下
    2023-10-10
  • 淺談JAVA工作流的優(yōu)雅實(shí)現(xiàn)方式

    淺談JAVA工作流的優(yōu)雅實(shí)現(xiàn)方式

    這篇文章主要介紹了淺談JAVA工作流的優(yōu)雅實(shí)現(xiàn)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • spring @Lazy延遲注入的邏輯實(shí)現(xiàn)

    spring @Lazy延遲注入的邏輯實(shí)現(xiàn)

    有時(shí)候我們會(huì)在屬性注入的時(shí)候添加@Lazy注解實(shí)現(xiàn)延遲注入,今天咱們通過(guò)閱讀源碼來(lái)分析下原因,感興趣的可以了解一下
    2021-08-08
  • SpringBoot 微信退款功能的示例代碼

    SpringBoot 微信退款功能的示例代碼

    這篇文章主要介紹了SpringBoot 微信退款功能的實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論