0
votes

Pourquoi toutes les valeurs NULL dans le corps de la demande?

J'appelle une API de repos du client angulaire 4 Voici le code client angulaire:

  @Entity
@Table(name = "question")
public class Question extends BaseModel implements UserOwned {

@Size(min = 2, max = 150, message = "The question should be between 2 and 150 characters")
@NotNull(message = "Question text not provided")
private String text;

@ManyToOne
private Quiz quiz;

@Column(name = "a_order")
private Integer order;

@OneToMany(mappedBy = "question", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<Answer> answers;

@OneToOne(cascade = CascadeType.ALL)
private Answer correctAnswer;

@Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP", insertable = false, updatable = false)
private Calendar createdDate;

@JsonIgnore
private boolean isActive;

public String getText() {
    return text;
}

public void setText(String text) {
    this.text = text;
}

public Quiz getQuiz() {
    return quiz;
}

public void setQuiz(Quiz quiz) {
    this.quiz = quiz;
}

public Integer getOrder() {
    return order;
}

public void setOrder(Integer order) {
    this.order = order;
}

public List<Answer> getAnswers() {
    return answers;
}

public void setAnswers(List<Answer> answers) {
    this.answers = answers;
}

public Calendar getCreatedDate() {
    return createdDate;
}

public void setCreatedDate(Calendar createdDate) {
    this.createdDate = createdDate;
}

public boolean isActive() {
    return isActive;
}

public void setActive(boolean active) {
    isActive = active;
}

@Override
public User getUser() {
    return quiz.getUser();
}

public Answer getCorrectAnswer() {
    return correctAnswer;
}

public void setCorrectAnswer(Answer correctAnswer) {
    this.correctAnswer = correctAnswer;
}

@Override
public String toString() {
    return "Question{" +
            "text='" + text + '\'' +
            ", quiz=" + quiz +
            ", oreder=" + order +
            ", answers=" + answers +
            ", correctAnswer=" +  correctAnswer +
            ", createdDate=" + createdDate +
            ", isActive=" + isActive +
            '}';
}


0 commentaires

3 Réponses :


1
votes

Vos champs sur FronTend sont appelés _Answers . Vous n'avez pas ce préfixe _ dans vos noms de champ pojo. Ces noms doivent correspondre si vous voulez que cela fonctionne hors de la boîte. Aussi, vous pouvez également utiliser @jsonproperty pour spécifier les cartes JSON champs à quel champ Pojo - Il est alternativement possible de configurer l'analyseur de manière à s'attendre automatiquement à vous attendre automatiquement _ devant chaque propriété.

Ensuite, vous n'avez pas à utiliser json.stringify , juste un objet JS. Je me demande si cela ne change pas Type de contenu en-tête.


0 commentaires

0
votes

Le nom des variables de votre JSON ne correspond pas à votre pojo


1 commentaires

Bonjour et bienvenue dans le débordement de la pile. Veuillez fournir un contexte et peut-être un exemple de code. Pointez sur l'endroit où vous pensez que le problème est et quelle est la solution. Comment écrire une bonne réponse



0
votes

Supposons que si vous avez votre pojo comme xxx

alors ici, le problème est _ avant le nom d'une variable dans votre JSON, vous devez correspondre aux noms avec votre classe Pojo < P> Ref-: https://www.baeldung.com/spring-request-response -bonne


0 commentaires