最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot PostMapping無法獲取數(shù)據(jù)問題及解決

 更新時(shí)間:2022年05月06日 15:12:32   作者:小喬美噠噠  
這篇文章主要介紹了Springboot PostMapping無法獲取數(shù)據(jù)問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

PostMapping無法獲取數(shù)據(jù)問題

在使用SpringBoot的PostMapping注解的時(shí)候,發(fā)現(xiàn)無法獲取數(shù)據(jù)(get方法可行),經(jīng)過一番查證,發(fā)現(xiàn)需要添加新的注解

舉例如下

? ? //接受單個(gè)參數(shù),使用RequestParam,并且添加上name屬性,保證前后端的參數(shù)名稱一致
?
? ? @PostMapping(value = "/users")
? ? public RestfulResponse postUser(@RequestParam("id") Integer id, ? ? ? ? @RequestParam("username") String username, @RequestParam("password") String password) {
? ? ? ? User user = new User(id, username, password);
? ? ? ? //User user = new User(1,"tom","123123");
? ? ? ? System.out.println(id + "----" + username);
? ? ? ? ? ? restfulResponse = new RestfulResponse(true,200,"查詢成功", null);
? ? ? ? return restfulResponse;
? ? }
? ? //接受一個(gè)實(shí)體類,要使用RequestBody 注解
? ? @PostMapping(value = "/getuser")
? ? public RestfulResponse postUser1(@RequestBody User user) {
? ? ? ? restfulResponse = new RestfulResponse(true,200,"查詢成功", user);
? ? ? ? return restfulResponse;
? ? }

Springboot之PostMapping 

@PostMapping

映射一個(gè)POST請求

Spring MVC新特性

提供了對Restful風(fēng)格的支持

@PostMapping(value = "/user/login")
//等價(jià)于
@RequestMapping(value = "/user/login",method = RequestMethod.POST)

擴(kuò)展

  • @GetMapping,處理get請求
  • @PostMapping,處理post請求
  • @PutMapping,處理put請求
  • @DeleteMapping,處理delete請求

@RequestMapping

RequestMapping是一個(gè)用來處理請求地址映射的注解,可用于類或方法上。用于類上,表示類中的所有響應(yīng)請求的方法都是以該地址作為父路徑。

屬性

  • value:指定請求的實(shí)際地址
  • method:指定方法類型,get、post、put、delete等
  • consumes:指定處理請求的提交內(nèi)容類型,如application/json, text/html;
  • produces: 指定返回的內(nèi)容類型,僅當(dāng)request請求頭中的(Accept)類型中包含該指定類型才返回;
  • params: 指定request中必須包含某些參數(shù)值是,才讓該方法處理。
  • headers: 指定request中必須包含某些指定的header值,才能讓該方法處理請求。

value/method示例

@Controller
@RequestMapping("/appointments")
public class AppointmentsController {
? ? private AppointmentBook appointmentBook;
? ??
? ? @Autowired
? ? public AppointmentsController(AppointmentBook appointmentBook) {
? ? ? ? this.appointmentBook = appointmentBook;
? ? }
? ? @RequestMapping(method = RequestMethod.GET)
? ? public Map<String, Appointment> get() {
? ? ? ? return appointmentBook.getAppointmentsForToday();
? ? }
? ? @RequestMapping(value="/{day}", method = RequestMethod.GET)
? ? public Map<String, Appointment> getForDay(@PathVariable @DateTimeFormat(iso=ISO.DATE) Date day, Model model) {
? ? ? ? return appointmentBook.getAppointmentsForDay(day);
? ? }
? ? @RequestMapping(value="/new", method = RequestMethod.GET)
? ? public AppointmentForm getNewForm() {
? ? ? ? return new AppointmentForm();
? ? }
? ? @RequestMapping(method = RequestMethod.POST)
? ? public String add(@Valid AppointmentForm appointment, BindingResult result) {
? ? ? ? if (result.hasErrors()) {
? ? ? ? ? ? return "appointments/new";
? ? ? ? }
? ? ? ? appointmentBook.addAppointment(appointment);
? ? ? ? return "redirect:/appointments";
? ? }
}

value的uri值為以下三類:

A) 可以指定為普通的具體值;

B) 可以指定為含有某變量的一類值(URI Template Patterns with Path Variables);

C) 可以指定為含正則表達(dá)式的一類值( URI Template Patterns with Regular Expressions);

@RequestMapping(value="/owners/{ownerId}", method=RequestMethod.GET)
public String findOwner(@PathVariable String ownerId, Model model) {
? Owner owner = ownerService.findOwner(ownerId); ?
? model.addAttribute("owner", owner); ?
? return "displayOwner";?
}
@RequestMapping("/spring-web/{symbolicName:[a-z-]+}-{version:\d\.\d\.\d}.{extension:\.[a-z]}")
? public void handle(@PathVariable String version, @PathVariable String extension) { ? ?
? ? // ...
? }
}

cousumes的樣例:

@Controller
@RequestMapping(value = "/pets", method = RequestMethod.POST, consumes="application/json")
public void addPet(@RequestBody Pet pet, Model model) { ? ?
? ? // implementation omitted
}

params的樣例:

@Controller
@RequestMapping("/owners/{ownerId}")
public class RelativePathUriTemplateController {
? @RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, params="myParam=myValue")
? public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) { ? ?
? ? // implementation omitted
? }
}

headers的樣例:

@Controller
@RequestMapping("/owners/{ownerId}")
public class RelativePathUriTemplateController {
@RequestMapping(value = "/pets", method = RequestMethod.GET, headers="Referer=http://www.ifeng.com/")
? public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) { ? ?
? ? // implementation omitted
? }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Java制作一個(gè)好玩的打飛機(jī)游戲

    基于Java制作一個(gè)好玩的打飛機(jī)游戲

    這篇文章主要介紹了基于Java制作的打飛機(jī)小游戲,這里整理了詳細(xì)的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java使用Armitage進(jìn)行滲透測試的方法

    Java使用Armitage進(jìn)行滲透測試的方法

    在網(wǎng)絡(luò)安全領(lǐng)域,滲透測試是一種重要的安全評估手段,它通過模擬惡意黑客的行為來檢測目標(biāo)系統(tǒng)是否存在安全漏洞,Armitage是一個(gè)基于Java的圖形化滲透測試工具,本文將介紹如何使用Armitage進(jìn)行滲透測試,需要的朋友可以參考下
    2024-12-12
  • 舉例解析Java多線程編程中需要注意的一些關(guān)鍵點(diǎn)

    舉例解析Java多線程編程中需要注意的一些關(guān)鍵點(diǎn)

    這篇文章主要介紹了Java多線程編程中需要注意的一些關(guān)鍵點(diǎn),包括ThreadLocal變量與原子更新等一些深層次的內(nèi)容,需要的朋友可以參考下
    2015-11-11
  • Mybatis查詢返回Map<String,Object>類型實(shí)例詳解

    Mybatis查詢返回Map<String,Object>類型實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Mybatis查詢返回Map<String,Object>類型的相關(guān)資料,平時(shí)沒太注意怎么用,今天又遇到了總結(jié)記錄一下,方便以后處理此類問題,需要的朋友可以參考下
    2022-07-07
  • java輸入時(shí)如何通過回車(enter)來結(jié)束輸入

    java輸入時(shí)如何通過回車(enter)來結(jié)束輸入

    這篇文章主要介紹了java輸入時(shí)如何通過回車(enter)來結(jié)束輸入,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Java運(yùn)行時(shí)動態(tài)生成對象的方法小結(jié)

    Java運(yùn)行時(shí)動態(tài)生成對象的方法小結(jié)

    Java是一門靜態(tài)語言,通常,我們需要的class在編譯的時(shí)候就已經(jīng)生成了,為什么有時(shí)候我們還想在運(yùn)行時(shí)動態(tài)生成class呢?今天通過本文給大家分享Java運(yùn)行時(shí)動態(tài)生成對象的方法小結(jié),需要的朋友參考下吧
    2021-08-08
  • SpringBoot3.1.2 引入Swagger報(bào)錯(cuò)Type javax.servlet.http.HttpServletRequest not present解決辦法

    SpringBoot3.1.2 引入Swagger報(bào)錯(cuò)Type javax.servlet.http

    這篇文章主要介紹了SpringBoot3.1.2 引入Swagger報(bào)錯(cuò)Type javax.servlet.http.HttpServletRequest not present解決辦法,文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • java selenium 操作瀏覽器實(shí)例

    java selenium 操作瀏覽器實(shí)例

    本文主要介紹java selenium 操作瀏覽器,這里整理了相關(guān)資料,并附示例代碼,有需要的小伙伴可以參考下
    2016-08-08
  • vscode開發(fā)maven的javaweb項(xiàng)目并部署到tomcat及配置指南

    vscode開發(fā)maven的javaweb項(xiàng)目并部署到tomcat及配置指南

    這篇文章主要給大家介紹了關(guān)于vscode開發(fā)maven的javaweb項(xiàng)目并部署到tomcat及配置的相關(guān)資料,在vscode中創(chuàng)建maven項(xiàng)目,需要逐一操作下面的環(huán)節(jié),文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • java基面試礎(chǔ)知識詳解

    java基面試礎(chǔ)知識詳解

    這篇文章主要介紹了java基面試礎(chǔ)知識,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08

最新評論

霍州市| 涿州市| 南投县| 都匀市| 东山县| 吉木乃县| 大埔区| 高密市| 钟山县| 平顺县| 耒阳市| 钟祥市| 吴川市| 扎囊县| 崇文区| 永和县| 乌鲁木齐市| 武安市| 新民市| 青铜峡市| 肥东县| 永定县| 灵璧县| 宿州市| 东宁县| 武穴市| 关岭| 江达县| 炎陵县| 大洼县| 宜兰县| 黄浦区| 鄯善县| 江都市| 湖南省| 阿瓦提县| 肃南| 慈溪市| 邛崃市| 龙江县| 平南县|