reactjs - react : axios post request with both params and body

标签 reactjs spring react-native model-view-controller 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

它在后端接收它:

    @RequestMapping(path = "/receiveData", method = RequestMethod.POST)
public ResponseEntity<Void> receiveData(@RequestBody Collection<ActivePOJO>  activitePOJOS) {
    //DO WORK WITH activePOJOS DATA
    return new ResponseEntity<>(HttpStatus.CREATED); 
}

但是,除了这些信息之外,我还需要发送一些其他信息,例如 user.id(例如),因此我需要我的后端接收这样的信息:

    public ResponseEntity<Void> receiveData(@RequestBody Collection<ActivitePOJO>  activePOJOS, Long userID)

但是我不知道我应该用哪种方式来准备 axios post 来处理类似的事情。我应该使用参数而不是主体吗?

最佳答案

您可以在带有 axios 的请求中同时使用参数和正文。将 userID 作为参数发送:

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

并在带有@RequestParam注解的 Controller 中接收用户ID:

public ResponseEntity<Void> receiveData(@RequestBody Collection<ActivitePOJO>  activePOJOS, @RequestParam("userID") Long userID){
   // here you can access userID value sent from axios
}

关于reactjs - react : axios post request with both params and body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61719658/

相关文章:

javascript - React-Redux |调度员不工作

javascript - React css webkit 动画在 setState 后不起作用

javascript - 如何检查用户名在 Firebase 中是否唯一

javascript - 为导入的组件添加样式是React

android - Google Play Expo w/React - Expo 的 app.json 文件中与 Android 对应的 plist 是什么?

javascript - react native : Create component error

reactjs - React Router 4 Match 返回未定义

javascript - 所需的请求部分不存在 - Spring

java - Spring Boot - 使用 inMemoryAuthentication

java - Spring 3.2 使用 SimpleJdbcInsert 检索自动生成的 key