Почтальон после вызова весны всегда равен 2 из 5 параметров конструктора - PullRequest
0 голосов
/ 11 апреля 2019

Я заранее извиняюсь, потому что не знал, как сформулировать вопрос.У меня есть следующий класс:

@Entity
@Table(name = "users")
public class User {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;

@Column(name = "username", length = 30)
private String username;

@Column(name = "email", length = 60)
private String email;

@Column(name = "birthday", length = 40)
private Date birthday;

@Column(name = "password", length = 60)
private String password;

@Column(name = "profilepic", length = 60)
private String profilePic;

public User() {
}

public User(String username, String email, String password, Date birthday, String profilePic) {
    this.username = username;
    this.email = email;
    this.password = password;
    this.birthday = birthday;
    this.profilePic = profilePic;
}


public long getId() {
    return id;
}

public String getUsername() {
    return username;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public Date getBirthday() {
    return birthday;
}

public void setBirthday(Date birthday) {
    this.birthday = birthday;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

public String getProfilePic() {
    return profilePic;
}

public void setProfilePic(String profilePic) {
    this.profilePic = profilePic;
}
}

, а затем в классе UserController у меня есть метод addUser:

@RequestMapping("/api")
@RestController
public class UserController {

private final UserRepository userRepository;

@Autowired
public UserController(UserRepository userRepository) {
    this.userRepository = userRepository;
}


@RequestMapping(method = RequestMethod.POST)
public ResponseEntity addUser(@ModelAttribute User user) {
    userRepository.save(user);

    return new ResponseEntity("User Created!", HttpStatus.OK);
}

@GetMapping
public List<User> getAllUsers() {
    return userRepository.findAll();
}

}

Когда я отправляю запрос почтальона как данные формы или как формаurlencoded сохраняет нового пользователя, но имя пользователя и profilepic всегда равны нулю.Я дважды проверил правописание более 15 раз, так что я не думаю, что это все.Почему эти 2 всегда равны нулю?

тело почтальона

1 Ответ

1 голос
/ 11 апреля 2019

Потому что в вашем теле Postman вы используете user_name и profilepic вместо username и profilePic.Также добавьте сеттер для username:

public void setUsername(String username) {
    this.username = username;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...