发布时间:2023-04-28 文章分类:WEB开发, 电脑百科 投稿人:李佳 字号: 默认 | | 超大 打印

@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 {
}