我對彈簧靴完全陌生。我現在正在嘗試將注冊表單資料(json 格式)從 vue 前端傳遞到 Spring Boot 后端,但后端始終顯示接收資料為空。我應該如何正確接收資料?
注冊控制器.java
package com.example.demo.controller;
import com.example.demo.result.Result;
import com.example.demo.pojo.newUser;
//import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@RestController
public class RegistrationController {
@CrossOrigin
@PostMapping(value = "api/registration")
@ResponseBody
public Result registration(@RequestBody NewUser user) {
System.out.println("###CompanyName: " user.getCompanyName());
return new Result(200);
}
}
新用戶.java
package com.example.demo.pojo;
public class NewUser {
private String CompanyName;
public String getCompanyName() {
return CompanyName;
}
public void setCompanyName(String CompanyName) {
this.CompanyName = CompanyName;
}
}
注冊.vue
<template>
<Form @submit="onSubmit" :validation-schema="schema">
<span class="lblMandatory">* </span><span class="lblExplanatoryNote">This is a mandatory field and data must be provided.</span>
<div class="form-group">
<span class="lblSectionField">Company Name <span class="lblMandatory">*</span></span>
<Field name="CompanyName" class="form-control"/>
<ErrorMessage name="CompanyName" class="ErrorMessage"/>
</div>
<button class="btn btn-primary" type="submit">Submit</button>
</Form>
</div>
</template>
<script>
import axios from 'axios'
export default {
data(){
return{
}
},
methods: {
onSubmit(values) {
axios.post('registration', values)
.then(successResponse => {
console.log(successResponse.data.code)
console.log(values)
if (successResponse.data.code === 200) {
alert("application success")
this.$router.replace({name: 'home'})
}
else{
alert("application failed")
}
})
.catch(failResponse => {
console.log(failResponse)
})
}
}
}
</script>
但在我的 Spring Boot 后端終端中,它顯示:###CompanyName: null
我編輯了更短的代碼,它只包含公司名稱,它仍然是空的。 結果
uj5u.com熱心網友回復:
嘗試在發送之前記錄您的 json 物件,從那里確保欄位名稱可以映射到您的請求 dto pojo 類,spring boot 使用駱駝案例策略序列化 json 物件,因此如果您的 json 主體不同,spring 將無法將 json 正文決議到您的 pojo 類中。
此外,如果您嘗試創建 rest api 端點,您應該使用 @RestController 而不是 @Controller 注釋。
這是有關Spring @Controller 和 @RestController Annotations的參考鏈接
您的 pojo 類也不遵循 java 命名約定,請參閱此鏈接以獲取更多資訊。
uj5u.com熱心網友回復:
在 vue 表單中找不到關于 newUser 和 userInfo 的代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/508297.html