springboot中Controller中postman遇到的傳參問題及解決
Controller中postman遇到的傳參問題及解決
api接口的請求方式@GetMapping
public TableDataInfo list(OrgCameraParameterBo bo, PageQuery pageQuery) { }
上述例子請求傳遞參數(shù)為實(shí)體類bo OrgCameraParameterBo 和 PageQuery
get請求方式 接口可獲取到參數(shù)地址欄的參數(shù)值 就可以直接將上述實(shí)體類所對應(yīng)的字段進(jìn)行一一添加進(jìn)行請求接口
可直接在postman上的parames上傳遞參數(shù)
api接口的請求方式@PostMapping
使用post請求方式
@PostMapping(“/login”) public R<Map<String, Object>> login(@Validated @RequestBody LoginBody loginBody) {}
可知道是post請求,并且的@RequestBody注解 可知道所需傳遞參數(shù)類型是個(gè)json對象
可postman請求要進(jìn)行json傳參
springboot Controller接收參數(shù)的常用方式
第一類:請求路徑參數(shù)
1、@PathVariable
- 獲取路徑參數(shù)。
- 即url/{id}這種形式。
2、@RequestParam
- 獲取查詢參數(shù)。
- 即url?name=這種形式
例子:
GET http://localhost:8080/demo/123?name=suki_rong
對應(yīng)的java代碼:
@GetMapping("/demo/{id}") public void demo(@PathVariable(name = "id") String id, @RequestParam(name = "name") String name) { System.out.println("id="+id); System.out.println("name="+name); }
輸出結(jié)果:
id=123
name=suki_rong
第二類:Body參數(shù)
因?yàn)槭荘OST請求,這里用Postman的截圖結(jié)合代碼說明
1、@RequestBody 例子
對應(yīng)的java代碼:
@PostMapping(path = "/demo1") public void demo1(@RequestBody Person person) { System.out.println(person.toString()); }
輸出結(jié)果:
name:suki_rong;age=18;hobby:programing
也可以是這樣
@PostMapping(path = "/demo1") public void demo1(@RequestBody Map<String, String> person) { System.out.println(person.get("name")); }
輸出結(jié)果:
suki_rong
2、無注解
例子:
對應(yīng)的java代碼:
@PostMapping(path = "/demo2") public void demo2(Person person) { System.out.println(person.toString()); }
輸出結(jié)果:
name:suki_rong;age=18;hobby:programing
Person類
public class Person { private long id; private String name; private int age; private String hobby; @Override public String toString(){ return "name:"+name+";age="+age+";hobby:"+hobby; } // getters and setters }
第三類:請求頭參數(shù)以及Cookie
1、@RequestHeader
2、@CookieValue
例子
java代碼:
@GetMapping("/demo3") public void demo3(@RequestHeader(name = "myHeader") String myHeader, @CookieValue(name = "myCookie") String myCookie) { System.out.println("myHeader=" + myHeader); System.out.println("myCookie=" + myCookie); }
也可以這樣
@GetMapping("/demo3") public void demo3(HttpServletRequest request) { System.out.println(request.getHeader("myHeader")); for (Cookie cookie : request.getCookies()) { if ("myCookie".equals(cookie.getName())) { System.out.println(cookie.getValue()); } } }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot 通過注解實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)的方法
這篇文章主要介紹了Spring Boot 通過注解實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09SpringBoot項(xiàng)目中獲取IP地址的實(shí)現(xiàn)示例
OkHttp是一個(gè)由Square開發(fā)的高效、現(xiàn)代的HTTP客戶端庫,本文主要介紹了SpringBoot項(xiàng)目中獲取IP地址的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08Spring Security注冊過濾器注意事項(xiàng)詳解
前兩天和小伙伴聊了 Spring Security+JWT 實(shí)現(xiàn)無狀態(tài)登錄,然后有小伙伴反饋了一個(gè)問題,感覺這是一個(gè)我們平時(shí)寫代碼容易忽略的問題,所以本文給大家介紹了Spring Security注冊過濾器注意事項(xiàng),需要的朋友可以參考下2024-06-06詳解Java阻塞隊(duì)列(BlockingQueue)的實(shí)現(xiàn)原理
這篇文章主要介紹了詳解Java阻塞隊(duì)列(BlockingQueue)的實(shí)現(xiàn)原理,阻塞隊(duì)列是Java util.concurrent包下重要的數(shù)據(jù)結(jié)構(gòu),有興趣的可以了解一下2017-06-06Java合并集合幾種常見方式總結(jié)(List、Set、Map)
這篇文章主要介紹了Java中合并List、Set、Map的多種方法,包括addAll()、Stream.concat()、Stream.of()+flatMap()、List.copyOf()、putAll()、merge()、compute()和StreamAPI等,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03Spring Boot配置攔截器及實(shí)現(xiàn)跨域訪問的方法
這篇文章主要介紹了Spring Boot配置攔截器及實(shí)現(xiàn)跨域訪問的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12線程池ThreadPoolExecutor并行處理實(shí)現(xiàn)代碼
這篇文章主要介紹了線程池ThreadPoolExecutor并行處理實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11