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

Spring中@RequestMapping、@RestController和Postman

 更新時(shí)間:2024年10月21日 09:04:19   作者:椰椰椰耶  
本文介紹了Spring框架中常用的@RequestMapping和@RestController注解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1.@RequestMapping 注解介紹

@RequestMapping 是 Spring Web MVC 引用程序中最常被用到的注解之一,它是用來(lái)注冊(cè)接口的路由映射的,表示服務(wù)收到請(qǐng)求時(shí),路徑為 /sayHello 的請(qǐng)求就會(huì)調(diào)用 sayHi 這個(gè)方法的代碼

路由映射:當(dāng)用戶訪問(wèn)一個(gè) URL 時(shí),將用戶的請(qǐng)求對(duì)應(yīng)到程序中某個(gè)類的某個(gè)方法的過(guò)程就叫路由映射

既然 @RequestMapping 已經(jīng)可以達(dá)到我們的目的了,我們?yōu)槭裁催€要加 @RestController 呢?

我們把 @RestController 去掉,再來(lái)訪問(wèn)一次

image.png

可以看到,程序報(bào)了 404,找不到該頁(yè)面,這就是 @RestController 起到的作用

一個(gè)項(xiàng)目中,會(huì)有很多類,每個(gè)類可能會(huì)有很多的方法,Spring 程序怎么知道要執(zhí)行哪個(gè)方法呢?

Spring 會(huì)對(duì)所有的類進(jìn)行掃描,如果類加了注解 @RestController,Spring 才會(huì)去看這個(gè)類里面的方法有沒(méi)有加 @RequestMapping 這個(gè)注解

2. @RequestMapping 使用

@RequestMapping 既可修飾方法,也可修飾類。 當(dāng)修飾類和方法時(shí),訪問(wèn)的地址是類路徑+方法路徑

  • @RequestMapping 標(biāo)識(shí)一個(gè)類:設(shè)置映射請(qǐng)求的請(qǐng)求路徑的初識(shí)信息
  • @RequestMapping 標(biāo)識(shí)一個(gè)方法:設(shè)置映射請(qǐng)求請(qǐng)求路徑的具體信息
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RestController;  
  
@RequestMapping("/user")  
@RestController  
public class UserController {  
  
    @RequestMapping("/sayHello")  
    public String sayHi() {  
        return "hello, spring mvc";  
    }  
}

訪問(wèn)地址:
http://127.0.0.1:8080/user/sayHello 

image.png|496

注意:@RequestMapping 的 URL 路徑最前面加不加 / 都可以,Spring 程序啟動(dòng)時(shí),會(huì)進(jìn)行判斷,如果前面沒(méi)有 /,Spring 會(huì)拼接上一個(gè) /

通常情況下,我們加上 /,@RequestMapping 的 URL 路徑也可以是多層的,最終訪問(wèn)時(shí),依然是類路徑+方法路徑

import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RestController;  
  
@RequestMapping("/user/m1")  
@RestController  
public class UserController {  
  
    @RequestMapping("/sayHello")  
    public String sayHi() {  
        return "hello, spring mvc";  
    }  
}

image.png|479

3. @RequestMapping 是 GET 還是 POST 請(qǐng)求?

我們來(lái)測(cè)試一下就知道了

GET 請(qǐng)求

瀏覽器發(fā)送的請(qǐng)求類型都是 GET,通過(guò)以上案例,可以看出來(lái) @RequestMapping 支持 GET 請(qǐng)求

POST 請(qǐng)求

我們通過(guò) form 表單來(lái)構(gòu)造請(qǐng)求:

創(chuàng)建 test.html,HTML代碼:

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Title</title>  
</head>  
<body>  
    <form action="user/sayHello" method="post">  
        <input type="submit" value="提交">  
    </form>  
</body>  
</html>

前端代碼放在 static 目錄下,訪問(wèn)方式為:
http://127.0.0.1:8080/test.html 

image.png|209

如果有多層目錄,訪問(wèn)鏈接從 static 目錄開(kāi)始寫(xiě)

image.png|307

如上圖,訪問(wèn)鏈接為:127.0.0.1:8080/html/test.html

image.png

從運(yùn)行結(jié)果可以看出:@RequestMapping 既支持 GET 請(qǐng)求,又支持 POST 請(qǐng)求。同理,也支持其他的請(qǐng)求方式,那如何指定 GET 或者 POST 類型呢?

指定 GET/POST 方法類型

我們可以顯示指定的 @RequestMapping 來(lái)接收 POST 的情況,如下所示:

import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RequestMethod;  
import org.springframework.web.bind.annotation.RestController;  
  
@RestController  
public class UserController {  
  
    @RequestMapping(value = "/getRequest", method = RequestMethod.POST)  
    public String sayHi() {  
        return "hello, spring mvc";  
    }  
}

2. Postman 介紹

從上面的案例中,發(fā)現(xiàn)了一個(gè)新的問(wèn)題,就是我們測(cè)試后端方法時(shí),還需要去寫(xiě)前端代碼。這對(duì)我們來(lái)說(shuō),是一件麻煩又痛苦的事情。

隨著互聯(lián)網(wǎng)的發(fā)展,也隨著項(xiàng)目難度的增加,企業(yè)也按照開(kāi)發(fā)的功能,把人員拆分成了不同的團(tuán)隊(duì)。界面顯示交給“前端開(kāi)發(fā)工程師”,業(yè)務(wù)邏輯的實(shí)現(xiàn)交給了“后端開(kāi)發(fā)工程師”。后端開(kāi)發(fā)工程師,不要求也不需要掌握前端的技能了。

那后端開(kāi)發(fā)工程師如何測(cè)試自己的程序呢?使用專業(yè)的接口測(cè)試工具—— Postman

1. 創(chuàng)建請(qǐng)求

image.png|485

image.png|455

界面介紹

image.png

2. 傳參介紹

1. 普通傳參

也就是通過(guò)查詢字符串來(lái)傳參

學(xué)習(xí) HTTP 的時(shí)候,我們通過(guò) URL 來(lái)訪問(wèn)互聯(lián)網(wǎng)上的某一個(gè)資源,URL 的格式如下:

image.png

 其中,查詢字符串就是請(qǐng)求的參數(shù)

image.png

2. form-data

完整表示為:multipart/form-data。表單提交的數(shù)據(jù),在 form 標(biāo)簽中加上 enctyped="multipart/form-data",通常用于提交圖片/文件。對(duì)應(yīng) Content-Type: multipart/form-data

image.png

3. x-www-form-urlencoded

form 表單,對(duì)應(yīng) Content-Type: application/x-www-from-urlencoded

image.png

4. raw

可以上傳任意格式的文本,可以上傳 text、json、xml、html 等

image.png

到此這篇關(guān)于Spring中@RequestMapping、@RestController和Postman的文章就介紹到這了,更多相關(guān)Spring @RequestMapping @RestController Postman內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • SpringBoot中ApplicationEvent的使用步驟詳解

    SpringBoot中ApplicationEvent的使用步驟詳解

    ApplicationEvent類似于MQ,是Spring提供的一種發(fā)布訂閱模式的事件處理方式,本文給大家介紹SpringBoot中ApplicationEvent的使用步驟詳解,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Java如何實(shí)現(xiàn)簡(jiǎn)單的RPC框架

    Java如何實(shí)現(xiàn)簡(jiǎn)單的RPC框架

    這篇文章主要介紹了Java如何實(shí)現(xiàn)簡(jiǎn)單的RPC框架,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 使用1招搞定maven打包空間不足的問(wèn)題

    使用1招搞定maven打包空間不足的問(wèn)題

    這篇文章主要介紹了使用1招搞定maven打包空間不足的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • SpringBoot初始教程之統(tǒng)一異常處理詳解

    SpringBoot初始教程之統(tǒng)一異常處理詳解

    本篇文章主要介紹了SpringBoot初始教程之統(tǒng)一異常處理詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • 手寫(xiě)mybatis完整sql插件問(wèn)題及實(shí)現(xiàn)思路

    手寫(xiě)mybatis完整sql插件問(wèn)題及實(shí)現(xiàn)思路

    大家在使用mybatis的過(guò)程中,mysql日志功能一般不會(huì)直接放到數(shù)據(jù)庫(kù)中執(zhí)行的,今天小編重點(diǎn)給大家分享手寫(xiě)mybatis完整sql插件問(wèn)題及實(shí)現(xiàn)思路,對(duì)mybatis完整sql插件相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-05-05
  • Java類加載之Class對(duì)象到Klass模型詳解

    Java類加載之Class對(duì)象到Klass模型詳解

    這篇文章主要介紹了Java類加載之Class對(duì)象到Klass模型詳解,每一個(gè)Java類在JVM中都會(huì)對(duì)應(yīng)創(chuàng)建一個(gè)C++類實(shí)例,我們稱這個(gè)C++類為Klass實(shí)例,Klass實(shí)例里面存儲(chǔ)了java類中所描述的方法、字段、屬性等,需要的朋友可以參考下
    2023-08-08
  • IntelliJ IDEA 如何配置git的操作方法

    IntelliJ IDEA 如何配置git的操作方法

    這篇文章主要介紹了IntelliJ IDEA 如何配置git,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java接口異步調(diào)用

    Java接口異步調(diào)用

    這篇文章主要介紹了Java接口異步調(diào)用,下面我們來(lái)一起學(xué)習(xí)一下吧
    2019-05-05
  • Java向上取整的幾種常見(jiàn)實(shí)現(xiàn)方法

    Java向上取整的幾種常見(jiàn)實(shí)現(xiàn)方法

    這篇文章主要介紹了Java向上取整的幾種常見(jiàn)實(shí)現(xiàn)方法,包括整數(shù)除法技巧、Math.ceil()函數(shù)、手動(dòng)檢查余數(shù)、位運(yùn)算和使用BigDecimal的setScale方法,每種方法都有其適用場(chǎng)景,選擇合適的方法可以提高代碼的性能和可讀性,需要的朋友可以參考下
    2024-12-12
  • SpringBoot項(xiàng)目啟動(dòng)后自動(dòng)加載系統(tǒng)配置的多種實(shí)現(xiàn)方式

    SpringBoot項(xiàng)目啟動(dòng)后自動(dòng)加載系統(tǒng)配置的多種實(shí)現(xiàn)方式

    這篇文章主要介紹了SpringBoot項(xiàng)目啟動(dòng)后自動(dòng)加載系統(tǒng)配置的多種實(shí)現(xiàn)方式,并通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2025-01-01

最新評(píng)論