Vla*_*yan 0 model-view-controller spring reactjs react-native axios
目前我有一个 axios post 请求,可以很好地将数据发送到 Spring Boot 后端。但它只是将单个数据列表包装到 json 并将其作为请求的正文发送:
例子:
sendAllData(data) {
return axios.post(API_URL + "receiveData", JSON.stringify(data),
{ headers: { "Content-Type": "application/json; charset=UTF-8" },
}).then(response=> console.log("repsonse", response.status)) // is 201
Run Code Online (Sandbox Code Playgroud)
}
它在后端接收它:
@RequestMapping(path = "/receiveData", method = RequestMethod.POST)
public ResponseEntity<Void> receiveData(@RequestBody Collection<ActivePOJO> activitePOJOS) {
//DO WORK WITH activePOJOS DATA
return new ResponseEntity<>(HttpStatus.CREATED);
}
Run Code Online (Sandbox Code Playgroud)
但是,除了这些信息,我还需要发送一些其他信息,如 user.id(例如),所以我需要我的后端接收这样的信息:
public ResponseEntity<Void> receiveData(@RequestBody Collection<ActivitePOJO> activePOJOS, Long userID)
Run Code Online (Sandbox Code Playgroud)
但我不知道我应该用哪种方式准备 axios 帖子。我应该使用 params 而不是 body 吗?
您可以在使用 axios 的请求中一起使用 params 和 body。将用户 ID 作为参数发送:
sendAllData(data) {
return axios.post(API_URL + "receiveData", JSON.stringify(data),
{ headers: { "Content-Type": "application/json; charset=UTF-8" },
params: { userID: 1 }, //Add userID as a param
}).then(response=> console.log("repsonse", response.status)) // is 201
Run Code Online (Sandbox Code Playgroud)
并在带有@RequestParam注释的控制器中接收用户 ID :
public ResponseEntity<Void> receiveData(@RequestBody Collection<ActivitePOJO> activePOJOS, @RequestParam("userID") Long userID){
// here you can access userID value sent from axios
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3630 次 |
| 最近记录: |