最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1. @GetMapping

對應(yīng)注解

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

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

2. @PostMapping

對應(yīng)注解

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

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

3. @PutMapping

對應(yīng)注解

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

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

4. @DeleteMapping

對應(yīng)注解

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

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

5.@PathVariable

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

常用于Get,Delete

可以匹配正則表達(dá)式 例如:{id: [a-zA-Z0-9]+} 不符合正則會報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

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

常用于Get,Delete

可加可不加:不加則 /list或/list?id=xxx都能訪問成功服務(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:請求參數(shù)名;
  • required:是否必需,默認(rèn)為 true; true 標(biāo)識必須帶參數(shù)例如:/list?id=xxx;反之則為/list
  • defaultValue:默認(rèn)值,設(shè)置該值,required 將自動設(shè)為 false,不傳則值為defaultValue設(shè)置的默認(rèn)值

7.@RequestBody

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

常用于:Post,Put

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

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

  • 路徑參數(shù): /list/{id} 
  • 請求頭:/list?id=xxx
  • 請求體: 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ù)資源(或資源列表),例如博客,用戶時

RequestParam:

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

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

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

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

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

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

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

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

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

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

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

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

  • String:接收一個字符串參數(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)您需要處理請求體中的數(shù)據(jù)時,使用 `@RequestBody` 注解;當(dāng)您需要處理 URL 中的查詢字符串或表單數(shù)據(jù)時,使用 `@RequestParam` 注解。

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

相關(guān)文章

  • 淺談Java對象禁止使用基本類型

    淺談Java對象禁止使用基本類型

    本文主要介紹了淺談Java對象禁止使用基本類型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • C++實(shí)現(xiàn)掃雷游戲示例講解

    C++實(shí)現(xiàn)掃雷游戲示例講解

    這篇文章主要介紹了C++實(shí)現(xiàn)掃雷游戲示例講解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • MyBatisPlus中事務(wù)處理的實(shí)現(xiàn)

    MyBatisPlus中事務(wù)處理的實(shí)現(xiàn)

    本文主要介紹了MyBatisPlus中事務(wù)處理的實(shí)現(xiàn),包括事務(wù)的開啟、提交、回滾等操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • 簡述Java異步上傳文件的三種方式

    簡述Java異步上傳文件的三種方式

    這篇文章主要為大家詳細(xì)介紹了Java異步上傳文件的三種方式,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Java Spring-Cache key配置注意事項(xiàng)介紹

    Java Spring-Cache key配置注意事項(xiàng)介紹

    本文主要對java spring-cache key配置注意事項(xiàng)進(jìn)行了介紹,小編覺得還是挺不錯的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • SpringBoot之Java配置的實(shí)現(xiàn)

    SpringBoot之Java配置的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot之Java配置的實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 詳解MyBatis XML配置解析

    詳解MyBatis XML配置解析

    這篇文章主要介紹了詳解MyBatis XML配置解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java中三種常用布局方式小結(jié)

    Java中三種常用布局方式小結(jié)

    在Java Swing和JavaFX中,布局管理器(Layout Managers)用于控制組件(如按鈕、文本框等)在容器(如窗口、面板等)內(nèi)的位置和大小,下面介紹Java Swing中常用的三種布局方式,需要的朋友可以參考下
    2025-02-02
  • SpringBoot靜態(tài)資源目錄訪問

    SpringBoot靜態(tài)資源目錄訪問

    今天小編就為大家分享一篇關(guān)于SpringBoot靜態(tài)資源目錄訪問,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 關(guān)于Spring的@Transaction導(dǎo)致數(shù)據(jù)庫回滾全部生效問題(又刪庫跑路)

    關(guān)于Spring的@Transaction導(dǎo)致數(shù)據(jù)庫回滾全部生效問題(又刪庫跑路)

    使用@Transactional一鍵開啟聲明式事務(wù), 這就真的事務(wù)生效了?過于信任框架總有“意外驚喜”。本文通過案例給大家詳解關(guān)于Spring的@Transaction導(dǎo)致數(shù)據(jù)庫回滾全部生效問題,感興趣的朋友一起看看吧
    2021-05-05

最新評論

项城市| 龙里县| 长垣县| 武平县| 锦屏县| 阜新市| 平湖市| 沽源县| 营山县| 堆龙德庆县| 科技| 大冶市| 乌鲁木齐市| 鄂托克旗| 兴化市| 秦安县| 榆树市| 溆浦县| 玉山县| 呈贡县| 平安县| 台北市| 萍乡市| 长泰县| 遂溪县| 剑河县| 来安县| 全南县| 色达县| 漳浦县| 谢通门县| 邵武市| 平乐县| 罗山县| 顺平县| 白河县| 清流县| 武清区| 蒙山县| 宜川县| 临湘市|