Post请求
接收JSON格式的数据
从目前来看,想要接收JSON格式的请求,就必须给一个对象放到上面
考虑的原因可能是因为JSON格式本身的{}这种对象形式,所以必须要用{}来接受吧。
用一个声明的DTO来接受(常用)
就是用一个自己创建的Java类的对象来接收。
要求接收的时候,前端传递过来的JSON格式的字符串的值 必须 和你的对象的属性值保持一致,才能把参数正确的传递到接收的对象上。
@PostMapping("/course_system")
public HttpResult add_course_system(@RequestBody CourseSystemRequest request) {
return studyModuleService.add_course_system(request.getCourseSystem(), request.getDescription());
}
用Map来接受
@PostMapping("/course_system")
public HttpResult add_course_system(@RequestBody Map<String, Object> requestData){
String courseSystem = (String) requestData.get("courseSystem");
String description = (String) requestData.get("description");
return studyModuleService.add_course_system(courseSystem, description);
}
接收表单格式的数据
用@RequestParam单独接收
@RequestParam它只能用来接收前端发送的键值对形式的数据(比如表单格式),无法接受JSON格式的数据!
@PostMapping("/course_system")
public HttpResult add_course_system(@RequestParam("courseSystem") String courseSystem,
@RequestParam("description") String description) {
return studyModuleService.add_course_system(courseSystem, description);
}
@ModelAttribute
@ModelAttribute
注解来接收 FileForm 对象,并进行相关处理
public class FileForm {
private MultipartFile file;
private String fileName;
private String fileType;
private Integer courseId;
// 省略 getter 和 setter 方法
@Override
public String toString() {
return "FileForm{" +
"file=" + file +
", fileName='" + fileName + '\'' +
", fileType='" + fileType + '\'' +
", courseId=" + courseId +
'}';
}
}
@PostMapping("/upload")
public String handleFileUpload(@ModelAttribute FileForm fileForm)
接收Query参数
/**
* 资源类型删除
*/
@PostMapping("/delete_resourcetype")
public HttpResult deleteResourceType(@RequestParam Integer id){
return studyModuleService.deleteResourceType(id);
}
Get请求
接收Query参数
/**
* 资源类型删除
*/
@GMapping("/delete_resourcetype")
public HttpResult deleteResourceType(@RequestParam Integer id){
return studyModuleService.deleteResourceType(id);
}