Я использую @pathvariable в springboot для получения данных от клиента. Переменными являются имя пользователя, пароль и адрес электронной почты.
Я проверил, передаются ли значения переменных в сервис. да, это передается, когда я печатаю это в журнале консоли.
Когда переменные назначаются в URL как / $ {имя пользователя) / $ {пароль) // $ {электронная почта), вместо получения значений этих переменных, $ {имя пользователя) сохраняется в базе данных вместо имя пользователя, введенное в пользовательском интерфейсе.
Проверено с почтальоном, значения, указанные в URL, используются для создания записи в базе данных, работает нормально.
Код Rest Controller и сервисный код прилагаются:
Rest Controller
_________________
@RestController
public class UserResource {
@Autowired
private UserService userService;
@RequestMapping(value = "/user/{username}/{password}/{email}",
method = RequestMethod.POST)
public ResponseEntity newUserPost(@PathVariable("username") String username,
@PathVariable("password") String password,
@PathVariable("email") String email,
HttpServletResponse response)
throws Exception {
registerUser function in Service
________________________________
registerUser(username: string, password: string, email: string) {
let params = 'username='+username+'&password='+password;
console.log(params);
let url = 'http://localhost:8080/user/${username}/${password}/${email}'
let headers = new HttpHeaders({
'Content-Type' : 'application/x-www-form-urlencoded',
});
return this.http.post(url, {headers: headers, responseType : 'text'});
}
Значения переменной необходимо отправить в загрузочную пружину.