SpringBoot與Postman實(shí)現(xiàn)REST模擬請求的操作
前言
Postman是一款Http請求模擬工具.它可以模擬各種Http Request,使用起來十分的方便.
使用背景
利用Spring Boot 快速搭建一個Web應(yīng)用,利用相同的url,不同的請求方式來調(diào)用不同的方法.最后利用Postman工具模擬實(shí)現(xiàn).
實(shí)現(xiàn)方法
利用IDEA快速構(gòu)建應(yīng)用環(huán)境
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
配置SpringBoot文件application.yml
server:
port: 8080
servlet:
context-path: /girl
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/test
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 1234
jpa:
hibernate:
ddl-auto: update
show-sql: true
Controller代碼
@RestController
public class MyController {
@Autowired
UserDao userDao;
@RequestMapping(value = "/say/{name}")
public @ResponseBody User say(@PathVariable("name") String uname){
User user = new User();
user.setUname(uname);
return userDao.save(user);
}
@GetMapping("/a")
public List<User> geyUserList(){
return userDao.findAll();
}
@PostMapping("/a")
public User addUser(@RequestParam("uname") String uname){
User user = new User();
user.setUname(uname);
return userDao.save(user);
}
@PutMapping(value = "/a/{no}")
public User updateUser(@PathVariable("no") Integer uno,@RequestParam("uname") String uname){
User user = new User();
user.setUno(uno);
user.setUname(uname);
return userDao.save(user);
}
@DeleteMapping(value = "/a/{no}")
public void deleteUser(@PathVariable("no") Integer uno){
userDao.deleteById(uno);
}
}
其中需要說明的幾個注解:
GetMapping/PostMapping/PutMapping/DeleteMapping都是組合注解.
學(xué)習(xí)過SpringMVC的同學(xué)都知道用RequestMapping注解來進(jìn)行映射請求.
而以上四個注解就是基于Http的REST風(fēng)格的請求+RequestMapping的結(jié)合.
分別代表REST風(fēng)格的CRUD操作.
使用Postman
下載方式:chrome商店搜索Postman即可.(有問題可以來私信我)
如下圖所示,Postman界面為我們提供了多種請求方式

舉個栗子
利用Put請求使用更新操作

首先選擇請求方式為Put,在Body標(biāo)簽下填寫要傳入的參數(shù),需要注意的是Put請求與其他三種請求方式不一樣,要選擇x-www-form-urlencoded方式提交,而不是form-data.
spring-boot postman post請求遇到的坑
今天用postman調(diào)試接口,發(fā)現(xiàn)post請求進(jìn)不去,一直報錯

get請求是可以的,我就納悶了,難道是我寫接口的姿勢不對?
后來逐步分析問題,發(fā)現(xiàn)問題出在了請求頭Header的Content-Type上,
application/x-www-form-urlencoded這個類型,就報錯,
必須要改成application/json,
網(wǎng)上查下資料,大概懂了,
后臺請求用@RequestBody的話,Content-Type就要設(shè)置為application/json,如果用@RequestParam的話,application/x-www-form-urlencoded這個格式也是可以的,就是前端數(shù)據(jù)以form方式提交
即application/x-www-form-urlencoded的時候傳參方式如下
![]()

application/json的時候,傳參方式就是正常的json格式
![]()

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis連接MySQL8出現(xiàn)的問題解決方法
這篇文章主要介紹了mybatis連接MySQL8出現(xiàn)的問題解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10
Java棧的應(yīng)用之括號匹配算法實(shí)例分析
這篇文章主要介紹了Java棧的應(yīng)用之括號匹配算法,結(jié)合實(shí)例形式分析了Java使用棧實(shí)現(xiàn)括號匹配算法的相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-03-03
Java服務(wù)器主機(jī)信息監(jiān)控工具類的示例代碼
這篇文章主要介紹了Java服務(wù)器主機(jī)信息監(jiān)控工具類的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
Java線程池中的Future實(shí)現(xiàn)詳解
這篇文章主要介紹了Java線程池中的Future實(shí)現(xiàn)詳解, FutureTask是一個任務(wù),FutureTask繼承了Runnable、Callable, 通過FutureTask可以獲取到任務(wù)執(zhí)行的狀態(tài),任務(wù)執(zhí)行完成完成后,將結(jié)構(gòu)通過Future接口返回,調(diào)用者可以調(diào)用Future#get()方法獲取到數(shù)據(jù),需要的朋友可以參考下2023-10-10
idea配置tomcat,idea配置web下lib的包詳解
這篇文章主要介紹了idea配置tomcat,idea配置web下lib的包,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
Spring Boot 驗(yàn)證碼的生成和驗(yàn)證詳解
我們在做用戶登錄的時候,為了安全性考慮,會增加驗(yàn)證碼的功能,下面這篇文章主要給大家介紹了關(guān)于Spring Boot中驗(yàn)證碼的生成和驗(yàn)證的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。2017-06-06
Spring Cloud微服務(wù)架構(gòu)的構(gòu)建:分布式配置中心(加密解密功能)
這篇文章主要給大家介紹了關(guān)于Spring Cloud微服務(wù)架構(gòu)的構(gòu)建:分布式配置中心(加密解密)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2018-05-05

