@PostMapping和@GetMapping用法详解
一、使用post方法调用
1.前端传递参数如果是一个object的话
如{id:‘1’,name:‘2222’}
后端参数接收的话,需要使用@RequestBody ApplyObject applyObject
requestBody后面放置的是一个实体类
@PostMapping(value = "/generatedData")
public Result<?> generatedData(@RequestBody ApplyObject applyObject) throws Exception {
}
不想用实体类接收的话,可以用JSONObject来接收 这个包package com.alibaba.fastjson;
@PostMapping(value = "/generatedData")
public Result<?> generatedData(@RequestBody JSONObject jsonObject) throws Exception {
String id = jsonObject.getString("id");
String name = jsonObject.getString("name");
//这样也是可以拿到你想要的值的
}
2.前端传递的参数如果是一个拼接的带?的字符串的话
如 xxx/generatedData?id=1&name=222
后端的参数接收就需要使用 @RequestParam(“id”) String id
@RequestParam 加上问号后面对应的字段名称
@PostMapping(value = "/generatedData")
public Result<?> generatedData( @RequestParam("id") String id,
@RequestParam("name") String name) throws Exception {
}
二、使用get方法
1. 前端传递参数如果是一个object的话
如{id:‘1’,name:‘2222’}
后端参数接收的话,里面放置的是一个实体类
@GetMapping(value = "/generatedData")
public Result<?> generatedData(ApplyObject applyObject) throws Exception {
}
2. 前端传递的参数如果是一个拼接的带?的字符串的话
如 xxx/generatedData?id=1&name=222
后端的参数接收就需要使用 也是使用@RequestParam(“id”) String id
@RequestParam 加上问号后面对应的字段名称
@GetMapping(value = "/generatedData")
public Result<?> generatedData( @RequestParam("id") String id,
@RequestParam("name") String name) throws Exception {
}
3.前端传递参数的路径中存在占位符
如 xxx/generatedData/id ,id中放置的是具体的值
后端参数接收的话,需要使用@PathVariable String id
@GetMapping(value = "/generatedData/{id}")
public Result<?> generatedData(@PathVariable("id") String id) throws Exception {
}