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