国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

這篇具有很好參考價(jià)值的文章主要介紹了優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

一:四種傳參方式

1.1:在 URL 中傳遞參數(shù)

1.2:PathVariable 傳遞參數(shù)(Restful 風(fēng)格)

1.3:在請(qǐng)求體中傳遞參數(shù)

1.4:在請(qǐng)求頭中傳遞參數(shù)

?二:文件上傳接口測(cè)試

?2.1 : test.java

?三、@RequestParam

3.1 多個(gè)參數(shù)

?3.2 單個(gè)參數(shù)

?四、@PathVariable

4.1? 單個(gè)參數(shù)

?4.2? 多個(gè)參數(shù)

五、@RequestBody

5.1? 單個(gè)參數(shù)

?5.2? User對(duì)象

?5.3? Map對(duì)象?

?編輯

?5.4? List 集合

六:RequestHeader

七、HttpServletRequest

補(bǔ)充:

8: JSONObject 類(lèi)型

9:使用@ModelAttribute注解



一:四種傳參方式

SpringBoot 接收參數(shù)的常用方式主要有以下幾種:

1.1:在 URL 中傳遞參數(shù)

??????? 可以通過(guò)在 URL 中添加參數(shù)來(lái)傳遞數(shù)據(jù),例如:/user?id=123&name=Tom。在 SpringBoot 中,可以使用 @RequestParam 注解來(lái)獲取請(qǐng)求參數(shù)。

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

1.2:PathVariable 傳遞參數(shù)(Restful 風(fēng)格)

?????? PathVariable 可以接受 URL 中的變量值,例如:/user/123,其中 123 就是一個(gè)變量。在 SpringBoot 中,可以使用 @PathVariable 注解來(lái)獲取 URL 中的變量值。

?優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

1.3:在請(qǐng)求體中傳遞參數(shù)

????? 可以將參數(shù)放在請(qǐng)求體中傳遞,例如:POST 請(qǐng)求中的表單數(shù)據(jù)或 JSON 數(shù)據(jù)。在 SpringBoot 中,可以使用 @RequestBody 注解來(lái)獲取請(qǐng)求體中的參數(shù)。

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

1.4:在請(qǐng)求頭中傳遞參數(shù)

????? 可以在請(qǐng)求頭中添加參數(shù),例如:JWT Token。在 SpringBoot 中,可以使用 @RequestHeader 注解來(lái)獲取請(qǐng)求頭中的參數(shù)。

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

?二:文件上傳接口測(cè)試

?2.1 : test.java

 @PostMapping("/test10")
    public Result test10(@RequestParam("file") MultipartFile file) {
        return Result.ok(200);
    }

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

?三、@RequestParam

3.1 多個(gè)參數(shù)

  @GetMapping("/test3")
    public Result test3(@RequestParam("id") Integer id ,
                        @RequestParam("name") String name){
        return Result.ok(name+id);
    }

執(zhí)行結(jié)果:

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

?3.2 單個(gè)參數(shù)

    @PostMapping("/test4")
    public Result test4(@RequestParam("name") String name) {
        return Result.ok(name);
    }

執(zhí)行結(jié)果:

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

?四、@PathVariable

?? @PathVariable 用于綁定 url 中的占位符。例如:請(qǐng)求 url 中 /delete/{id},這個(gè){id}就是 url 占位符。url 支持占位符是 spring3.0 之后加入的。是 springmvc 支持 rest 風(fēng)格 URL 的一個(gè)重要標(biāo)志。

4.1? 單個(gè)參數(shù)

    @PostMapping("/test2/{id}")
    public Result test2(@PathVariable("id") Integer id) {
        return Result.ok(id);
    }

?4.2? 多個(gè)參數(shù)

  @GetMapping("/test1/{id}/{name}")
    public Result test1(@PathVariable("id") Integer id,
                        @PathVariable("name") String name) {
        return Result.ok(id+":"+name);
    }

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

五、@RequestBody

???????? @RequestBody一般被用來(lái)接收http請(qǐng)求中body中json數(shù)據(jù)。get、post都可以使用。一般用于post。

5.1? 單個(gè)參數(shù)

注意:不支持 (@RequestBody String name 2,@RequestBody String name2)

   @PostMapping("/test5")
    public Result test5(@RequestBody String name) {
        return Result.ok(name);
    }
 

不同傳參得到的結(jié)果不同:

" 李四 "

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

JSON格式:

{
  "name": "李四"
}

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

?5.2? User對(duì)象

    @PostMapping("/test6")
    public Result test6(@RequestBody User user) {
        return Result.ok(user);
    }

?結(jié)果:

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

?5.3? Map對(duì)象?

    @PostMapping("/test7")
    public Result test7(@RequestBody HashMap map) {
        return Result.ok(map);
    }

結(jié)果:

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

?5.4? List 集合

    @PostMapping("/test8")
    public Result test8(@RequestBody List<User> list) {
        return Result.ok(list);
    }

結(jié)果:

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

六:RequestHeader

??????? @RequestHeader主要用來(lái)獲取請(qǐng)求當(dāng)中的請(qǐng)求頭

代碼示例:

    @PostMapping("/test9")
    public Result test9(@RequestHeader("token") String token ) {
        return Result.ok(token);
    }

結(jié)果:

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧

七、HttpServletRequest

??????? 直接拿到request對(duì)象,通過(guò)request可以從對(duì)象中靈活的獲取參數(shù):

@RestController
@RequestMapping("/request")
public class HttpServletRequestController {

    @GetMapping("/getUrlValue")
    public String getUrlValue(HttpServletRequest request) {
        // 沒(méi)有的時(shí)候不會(huì)報(bào)錯(cuò),直接為null
        String msg = request.getParameter("msg");
        System.out.println(msg);
        return msg;
    }

    @GetMapping("/getUrlValues")
    public String getHttpServletRequestValue(HttpServletRequest request) {
        Map<String, String[]> parameterMap = request.getParameterMap();
        return JSONObject.toJSONString(request.getParameterMap());;
    }
}

補(bǔ)充:

8: JSONObject 類(lèi)型

   @GetMapping(value = "/queryTest")
    @AnonymityAnnotation(access = true)
    public WebResponse<JSONObject> queryAuthUsers(@RequestBody JSONObject jsonObject){
        JSONObject  js = jsonObject;
        return new WebResponse<JSONObject>().success(js);
    }

參數(shù):

{
  "propertyName": "someValue"
}

打印結(jié)果:

{
  "meta": {
    "success": true,
    "statusCode": 200,
    "message": "ok"
  },
  "data": {
    "propertyName": "someValue"
  }
}

9:使用@ModelAttribute注解

    @GetMapping(value = "/queryTest2")
    @AnonymityAnnotation(access = true)
    public WebResponse<testPO> queryAuthUsers2(@ModelAttribute testPO dto){
        testPO dto1 = dto;
        return new WebResponse<testPO>().success(dto1);
    }

傳參:

優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-450730.html

到了這里,關(guān)于優(yōu)雅地處理參數(shù)傳遞:Spring Boot中的技巧的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring MVC 參數(shù)傳遞和JSON數(shù)據(jù)處理

    Spring MVC 參數(shù)傳遞和JSON數(shù)據(jù)處理

    編寫(xiě)controller 在index.jsp里面定義超鏈接 編寫(xiě)controller 在index.jsp里面定義超鏈接 編寫(xiě)controller 在index.jsp里面定義超鏈接 springmvc 默認(rèn)使用jackson作為json類(lèi)庫(kù),不需要修改applicationContext-servlet.xml任何配置,只需引入以下類(lèi)庫(kù)springmvc就可以處理json數(shù)據(jù): @RequestBody:作用是接收前端aja

    2024年01月24日
    瀏覽(20)
  • Spring Boot常用的參數(shù)驗(yàn)證技巧和使用方法

    Spring Boot是一個(gè)使用Java編寫(xiě)的開(kāi)源框架,用于快速構(gòu)建基于Spring的應(yīng)用程序。在實(shí)際開(kāi)發(fā)中,經(jīng)常需要對(duì)輸入?yún)?shù)進(jìn)行驗(yàn)證,以確保數(shù)據(jù)的完整性和準(zhǔn)確性。Spring Boot提供了多種方式來(lái)進(jìn)行參數(shù)驗(yàn)證,并且可以很方便地集成到應(yīng)用程序中。 JSR-303是Java Validation API的規(guī)范之一,

    2024年02月09日
    瀏覽(59)
  • SpringBoot基于Aop優(yōu)雅的處理參數(shù)中的空格(提供Gitee源碼)

    前言:在實(shí)際開(kāi)發(fā)中,很多用戶(hù)會(huì)不經(jīng)意的輸入空格,導(dǎo)致存入數(shù)據(jù)庫(kù)中的信息也同樣存在空格,這樣會(huì)導(dǎo)致根據(jù)某個(gè)字段去查詢(xún)數(shù)據(jù)的時(shí)候總是查詢(xún)不到的問(wèn)題,后來(lái)才發(fā)現(xiàn)是因?yàn)槎嗔藗€(gè)空格的問(wèn)題,如果我們按傳統(tǒng)的方式在每個(gè)方法中一個(gè)個(gè)對(duì)空格進(jìn)行處理,這樣會(huì)導(dǎo)致

    2024年02月20日
    瀏覽(22)
  • Spring Boot請(qǐng)求處理-常用參數(shù)注解

    Spring Boot請(qǐng)求處理-常用參數(shù)注解

    @PathVariable 路徑變量 @RequestParam 獲取請(qǐng)求參數(shù) @RequestHeader 獲取請(qǐng)求頭 @RequestBody 獲取請(qǐng)求體【Post】 @CookieValue 獲取Cookie值 RequestAttribute 獲取request域?qū)傩?@ModelAttribute 1. @PathVariable 該注解主要用于rest風(fēng)格的搭配使用,請(qǐng)求路徑中不再以 k:v 的形式給出請(qǐng)求參數(shù)和值;而是直接給定

    2024年02月10日
    瀏覽(32)
  • 企業(yè)級(jí)實(shí)戰(zhàn) Spring Boot + K8S 中的滾動(dòng)發(fā)布、優(yōu)雅停機(jī)、彈性伸縮、應(yīng)用監(jiān)控、配置分離

    下面為大家介紹我司生產(chǎn)環(huán)境使用了3年的基于K8S的dev ops 配置實(shí)現(xiàn) K8s + SpringCloud實(shí)現(xiàn)零宕機(jī)發(fā)版,優(yōu)雅重啟:健康檢查+滾動(dòng)更新+優(yōu)雅停機(jī)+彈性伸縮+Prometheus監(jiān)控+配置分離(鏡像復(fù)用) 業(yè)務(wù)層面 項(xiàng)目依賴(lài) pom.xml 使用 spring-boot-starter-actuator 鏡像 存活、就緒檢查 使用 prometheus

    2024年02月06日
    瀏覽(22)
  • Spring Boot中處理前端的POST請(qǐng)求參數(shù)

    在Spring Boot中處理前端的POST請(qǐng)求參數(shù)可以使用@RequestParam注解或@RequestBody注解。 @RequestParam注解用于獲取請(qǐng)求參數(shù)的值,可以用于處理GET和POST請(qǐng)求。它可以指定參數(shù)的名稱(chēng)、是否必須、默認(rèn)值等屬性。 例如,假設(shè)前端發(fā)送了一個(gè)POST請(qǐng)求,請(qǐng)求參數(shù)為name和age,可以使用@Request

    2024年02月15日
    瀏覽(21)
  • Spring Boot接收從前端傳過(guò)來(lái)的數(shù)據(jù)常用方式以及處理的技巧

    Spring Boot接收從前端傳過(guò)來(lái)的數(shù)據(jù)常用方式以及處理的技巧

    前端傳遞過(guò)來(lái)的數(shù)據(jù)類(lèi)型,老師這里會(huì)把它分為兩個(gè)主要的方向: 第1個(gè)方向:非json格式的數(shù)據(jù) 第2個(gè)方向:json格式的數(shù)據(jù) 非json格式的數(shù)據(jù) 方式1 :直接可以將控制層方法的參數(shù)名稱(chēng)和請(qǐng)求的參數(shù)名稱(chēng)保持一致來(lái)進(jìn)行接收。 場(chǎng)景:數(shù)據(jù)量(參數(shù)個(gè)數(shù))比較小,=3個(gè)參數(shù) 優(yōu)點(diǎn)

    2024年02月01日
    瀏覽(27)
  • Spring Boot應(yīng)用優(yōu)雅關(guān)閉

    POM依賴(lài) 在需要實(shí)現(xiàn)優(yōu)雅關(guān)閉的應(yīng)用工程中增加下述依賴(lài):部分啟動(dòng)器默認(rèn)就依賴(lài)了Actuator啟動(dòng)器,如:spring-cloud-starter-netflix-eureka-server,那么下述依賴(lài)是可以省略的。 配置文件: Actuator提供的優(yōu)雅關(guān)閉服務(wù)地址是: http://IP:Port/actuator/shutdown 。 必須使用POST請(qǐng)求訪問(wèn)此路徑地址

    2024年02月13日
    瀏覽(22)
  • Spring MVC參數(shù)接收、參數(shù)傳遞

    Spring MVC參數(shù)接收、參數(shù)傳遞

    Springmvc中,接收頁(yè)面提交的數(shù)據(jù)是通過(guò)方法形參來(lái)接收: 處理器適配器調(diào)用springmvc使用反射將前端提交的參數(shù)傳遞給controller方法的形參 springmvc接收的參數(shù)都是String類(lèi)型,所以spirngmvc提供了很多converter(轉(zhuǎn)換器)在特殊情況下需要自定義converter,如對(duì)日期數(shù)據(jù) 編寫(xiě)controller ?

    2024年01月16日
    瀏覽(24)
  • Spring Boot項(xiàng)目?jī)?yōu)雅實(shí)現(xiàn)讀寫(xiě)分離

    Spring Boot項(xiàng)目?jī)?yōu)雅實(shí)現(xiàn)讀寫(xiě)分離

    ??歡迎來(lái)到架構(gòu)設(shè)計(jì)專(zhuān)欄~Spring Boot項(xiàng)目?jī)?yōu)雅實(shí)現(xiàn)讀寫(xiě)分離 ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁(yè):IT·陳寒的博客 ??該系列文章專(zhuān)欄:架構(gòu)設(shè)計(jì) ??其他專(zhuān)欄:Java學(xué)習(xí)路線(xiàn) Java面試技巧 Java實(shí)戰(zhàn)項(xiàng)目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??文章作者技術(shù)和水平有限,如果文中

    2024年02月05日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包