前端参数传递方式
None:
对于没有请求体的情况,通常用于GET请求等。Form-Data:
import request from '../utils/request.js';
export const submitFormData = (formData) => {
return request.post("/submitForm", formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
});
};
- x-www-form-urlencoded:
import request from '../utils/request.js';
export const submitUrlEncodedForm = (data) => {
return request.post("/submitForm", new URLSearchParams(data), {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
});
};
- Raw:
import request from '../utils/request.js';
export const submitRawData = (jsonData) => {
return request.post("/submitRawData", jsonData, {
headers: {
'Content-Type': 'application/json',
},
});
};
- Binary:
import request from '../utils/request.js';
export const uploadBinaryData = (file) => {
const formData = new FormData();
formData.append('file', file);
return request.post("/uploadBinary", formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
});
};
6.GraphQL:
import request from '../utils/request.js';
export const sendGraphQLRequest = (graphqlQuery) => {
return request.post("/graphql", { query: graphqlQuery }, {
headers: {
'Content-Type': 'application/json',
},
});
};
后端接收方式
None:
对于没有请求体的情况,通常用于GET请求等。
Spring Boot注解:无需特殊注解,可以使用@GetMapping、@RequestMapping等注解处理。Form-Data:
用于以表单形式提交数据,适用于文件上传或表单提交。
Spring Boot注解:使用@RequestParam
注解来接收表单字段,通常结合@PostMapping
使用。
@PostMapping("/upload")
public ResponseEntity<String> handleFileUpload(@RequestParam("file") MultipartFile file)
{
// 处理文件上传逻辑
// ...
return ResponseEntity.ok("File uploaded successfully");
}
- x-www-form-urlencoded:
用于以URL编码形式提交数据,适用于普通的表单提交。
Spring Boot注解:使用@RequestParam
注解来接收表单字段,通常结合@PostMapping
使用。
@PostMapping("/submitForm")
public ResponseEntity<String> submitForm(@RequestParam String param1, @RequestParam String param2) {
// 处理表单提交逻辑
// ...
return ResponseEntity.ok("Form submitted successfully");
}
- Raw:
用于直接编辑和发送原始的请求体数据,可以选择不同的数据格式,如JSON、XML等。
Spring Boot注解:使用@RequestBody
注解来接收请求体中的数据,通常结合@PostMapping
使用。
@PostMapping("/submitRawData")
public ResponseEntity<String> submitRawData(@RequestBody Map<String, Object> data) {
// 处理原始数据逻辑
// ...
return ResponseEntity.ok("Raw data submitted successfully");
}
- Binary:
用于上传二进制文件或数据。
Spring Boot注解:使用@RequestParam
注解来接收文件,通常结合@PostMapping
使用。
@PostMapping("/uploadBinary")
public ResponseEntity<String> uploadBinary(@RequestParam("file") MultipartFile file) {
// 处理二进制文件上传逻辑
// ...
return ResponseEntity.ok("Binary data uploaded successfully");
}
6.GraphQL:
用于发送GraphQL查询或变更请求。
Spring Boot注解:使用@PostMapping
注解,并使用@RequestBody
注解接收GraphQL请求体。
@PostMapping("/graphql")
public ResponseEntity<String> handleGraphQLRequest(@RequestBody String graphqlQuery) {
// 处理GraphQL请求逻辑
// ...
return ResponseEntity.ok("GraphQL request handled successfully");
}
版权归原作者 愈辩已忘言 所有, 如有侵权,请联系我们删除。