SpringBoot與Postman實現(xiàn)REST模擬請求的操作
Postman是一款Http請求模擬工具.它可以模擬各種Http Request,使用起來十分的方便.
使用背景利用Spring Boot 快速搭建一個Web應(yīng)用,利用相同的url,不同的請求方式來調(diào)用不同的方法.最后利用Postman工具模擬實現(xiàn).
實現(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: /girlspring: 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代碼
@RestControllerpublic 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都是組合注解.
學習過SpringMVC的同學都知道用RequestMapping注解來進行映射請求.
而以上四個注解就是基于Http的REST風格的請求+RequestMapping的結(jié)合.
分別代表REST風格的CRUD操作.
使用Postman下載方式:chrome商店搜索Postman即可.(有問題可以來私信我)
如下圖所示,Postman界面為我們提供了多種請求方式
舉個栗子
利用Put請求使用更新操作
首先選擇請求方式為Put,在Body標簽下填寫要傳入的參數(shù),需要注意的是Put請求與其他三種請求方式不一樣,要選擇x-www-form-urlencoded方式提交,而不是form-data.
spring-boot postman post請求遇到的坑今天用postman調(diào)試接口,發(fā)現(xiàn)post請求進不去,一直報錯
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)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. jsp中sitemesh修改tagRule技術(shù)分享2. ASP刪除img標簽的style屬性只保留src的正則函數(shù)3. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究4. React優(yōu)雅的封裝SvgIcon組件示例5. JavaWeb Servlet中url-pattern的使用6. asp(vbscript)中自定義函數(shù)的默認參數(shù)實現(xiàn)代碼7. ASP基礎(chǔ)知識VBScript基本元素講解8. JSP servlet實現(xiàn)文件上傳下載和刪除9. 輕松學習XML教程10. 詳解瀏覽器的緩存機制
