Я пытаюсь добавить "группу", я использую сервис отдыха.Я не могу понять, почему я получаю ошибку http 400, в то время как тот же сервис работает нормально с почтальоном.
вот мой код в JEE
Groupe.java
@Entity
@Table(name = "groupes")
public class Groupe implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idgrp;
@NotNull
// @Lob
private String nom_groupe;
@ManyToOne(optional = false)
@JoinColumn
@OnDelete(action = OnDeleteAction.CASCADE)
@JsonIgnore
private EntityType entityType;
public Long getIdgrp() {
return idgrp;
}
public void setIdgrp(Long idgrp) {
this.idgrp = idgrp;
}
public String getNom_groupe() {
return nom_groupe;
}
public void setNom_groupe(String nom_groupe) {
this.nom_groupe = nom_groupe;
}
public EntityType getEntityType() {
return entityType;
}
public void setEntityType(EntityType entityType) {
this.entityType = entityType;
}
}
Мой RestService
@PostMapping("/entityTypes/{id_type}/groups")
public Groupe createGroupe(@PathVariable (value = "id_type") Long id_type,
@Valid @RequestBody Groupe groupe) {
return entityTypeRepository.findById(id_type).map(entityType -> {
groupe.setEntityType(entityType);
return groupeRepository.save(groupe);
}).orElseThrow(() -> new ResourceNotFoundException("id_type " + id_type + " not found", null, groupe));
}
Пока у меня нет никаких проблем,когда я пытаюсь добавить группу с помощью Почтальона, она работает просто отлично.Моя проблема, когда я использую Angular
onSubmit() {
this.grpInfo = new GroupeInfo(
this.form.nom_groupe
);
headers.append('Authorization', window.localStorage.getItem('token'));
this.http
.post<any>('http://localhost:8080/entityTypes/' + this.route.snapshot.params['id'] + '/groups', { headers })
.subscribe(
(response) => {
// console.log(response.content);
response.content.nom_groupe = this.grpInfo.nom_groupe;
//console.log(response);
},
(error) => {
console.log(error);
}
);
}
Это когда я получаю ошибку http 400 и эту ошибку в бэкэнде
[nio-8080-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument [1] in public com.hraccess.openhr.myEntities.Groupe com.hraccess.openhr.myController.GroupeController.createGroupe(java.lang.Long,com.hraccess.openhr.myEntities.Groupe): [Field error in object 'groupe' on field 'nom_groupe': rejected value [null]; codes [NotNull.groupe.nom_groupe,NotNull.nom_groupe,NotNull.java.lang.String,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [groupe.nom_groupe,nom_groupe]; arguments []; default message [nom_groupe]]; default message [ne peut pas être nul]] ]