0
votes

Comment envoyer un seul paramètre dans la méthode de mise?

J'essaie de mettre à jour un paramètre de l'objet, en vous attendant: xxx

et envoyant le json comme ceci: xxx

Mais le résultat est-ce: xxx

Qu'est-ce que je fais mal ici? Il y a une autre façon d'envoyer ce paramètre?


9 commentaires

Essayez d'utiliser un patch pour mettre à jour un champ d'un objet.


Montrez également comment vous envoyez la demande.


Montrez comment créez-vous une demande, en particulier le corps de la demande.


Essayez d'ajouter Consoles = "Texte / Code" comme paramètre sur @RequestMappage, comme celui-ci: @RequestMapping (valeur = "/ myendPoint", consomme = {"Texte / plaine"}) Cela le forcera à traiter l'objet en tant que texte brut au lieu d'un objet JSON


De plus, étant donné que son seul champ que vous souhaitez mettre à jour, vous pouvez envisager d'utiliser @requestparam ou même @pathvariable pour cela.


@ Maurice pour que je puisse continuer à envoyer comme Json?


@ chiptus12 j'ai essayé d'utiliser un patch, mais rien n'a changé


@Anapaulalima Aucun envoi en tant que texte brut ou meilleur en tant que paramètre de demande. Le nom du paramètre doit être Nome. Remplacer @requestbody avec @Requestparam


@ Maurice ça a fonctionné: D Merci


3 Réponses :


0
votes

Créer une classe pour la demande corporelle contient un champ et utilisez la classe comme le corps de la demande.

@PutMapping("{id}/nome")
public ResponseEntity<?> putDisciplinaNome(@PathVariable int id, @RequestBody DisDto disDto) {
    
}


0 commentaires

0
votes

Essayer d'envelopper votre corps dans un type d'entrée comme celui-ci. XXX

De cette façon, lorsque vous envoyez la demande, le corps (supposer JSON) sera quelque chose comme ça. xxx


0 commentaires

0
votes

Je voulais continuer à envoyer en tant que JSON, alors je jette la chaîne à JsonObject comme ceci:

public ResponseEntity<?> putDisciplinaNome(@PathVariable int id, @RequestBody String json) {
        JSONParser parser = new JSONParser();
        JSONObject json2 = null;
         try {
             json2 = (JSONObject) parser.parse(json);
         } catch (ParseException e) {
             return new ResponseEntity<>("Json could not be formatted.", HttpStatus.BAD_REQUEST);
         }
        Disciplina d = disciplinaService.getDisciplinabyID(id);
        if (d == null) {
            return new ResponseEntity<>(d, HttpStatus.NOT_FOUND);
        } else {
              d.setNome(json2.get("nome").toString());
              return new ResponseEntity<>(d, HttpStatus.OK);
        }
}


1 commentaires

Vous n'avez pas besoin d'analyser JSON, le printemps peut automatiquement le faire pour vous, voir ma solution :)