Spring 如何从服务器上的post接收多个正文数据
我正试图从我的客户机向我的服务器发送一个新用户+一个带有此代码的验证IdSpring 如何从服务器上的post接收多个正文数据,spring,post,fetch,Spring,Post,Fetch,我正试图从我的客户机向我的服务器发送一个新用户+一个带有此代码的验证Id fetch('http://localhost:8080/users/student', { method: 'POST', body: JSON.stringify({"email":email, "firstName": firstName, "lastName": lastName, "idToken": idToken}),
fetch('http://localhost:8080/users/student', {
method: 'POST',
body: JSON.stringify({"email":email, "firstName": firstName, "lastName": lastName,
"idToken": idToken}),
headers: {
'content-type': 'application/json'
},
}).then(response => { return response.json();
}).then(data => {
console.log(data);
});
我的控制器上的方法是
@RequestMapping(value = "/student", method = RequestMethod.POST)
private User createStudent(@RequestBody User user) {
user.setId(null);
user.setUserType(UserType.STUDENT);
//verify the user and create custom role
return userService.save(user);
}
问题是,我无法使用user.idToken访问验证令牌,因为idToken不是用户属性,因此,我如何分别使用用户属性和idToken接收正文?您可以选择以下方法之一:
User
类扩展为
UserWithToken
将包含来自
User
类以及idToken
QueryParam
并将其传递到URL中。
例如:/student?idToken=您的令牌id
您可以选择以下方法之一:
User
类扩展为
UserWithToken
将包含来自
User
类以及idToken
QueryParam
并将其传递到URL中。
例如:/student?idToken=您的令牌id
您可以创建扩展
用户类的类:
public class UserDto extends User {
private String idToken;
// getter / setter
}
因此,您可以将此对象传递给您的方法:
private User createStudent(@RequestBody UserDto user) {
// user.getIdToken(); available
}
如果需要返回令牌,您可以将返回类型更改为UserDto
。您可以创建一个类来扩展您的用户
类:
public class UserDto extends User {
private String idToken;
// getter / setter
}
因此,您可以将此对象传递给您的方法:
private User createStudent(@RequestBody UserDto user) {
// user.getIdToken(); available
}
如果需要返回令牌,您可以将返回类型更改为UserDto
。使用所需的所有数据创建一个Dto
,然后返回它。我不习惯Dto,您的意思是我创建一个新类,例如使用每个用户属性+idToken的UserDto,然后使用UserDto创建我的用户+使用idToken?例如,但是您也可以创建一个类来扩展User
类,并添加idToken
属性。或者是一个Dto
带有User
和idToken
字段的Dto
。创建一个Dto
,包含您需要的所有数据并返回它。我不习惯Dto,您的意思是我创建一个新类,例如使用每个用户属性+idToken的UserDTO,然后使用UserDTO创建我的用户+使用idToken?例如,但是您也可以创建一个类来扩展User
类,并添加idToken
属性。或带有User
和idToken
字段的Dto
。