-1
votes

Java Resttemplate Comment poster avec le corps

J'ai besoin d'une assistance de manière correcte de poster un corps JSON avec une plaque de repos dans une liste de repos. Je ne suis tout simplement pas assez familier sur ce que je fais mal. J'ai passé beaucoup de temps à regarder cela et je ne reçois pas le résultat dont j'ai besoin. Espérons que les informations que je fournis sont claires. À l'heure actuelle, j'essaie simplement de poster le corps JSON vers l'API ci-dessous API URL

Controller strong> P>

 {
"group": "my_group",
"short_description":"this is a test for the short description",
"contact_type":"Alert",
 }


2 commentaires

Pouvez-vous ajouter la sortie / erreur que vous obtenez?


@Thirumal Il renvoie un enregistrement vide: {} tableau comme s'il ne prenait pas le corps de poste. Si je prends l'URL de l'API et que je l'ajoutez au postman avec le même organisme JSON, cela fonctionne sans problème. Mais ne fonctionne pas lorsque j'essaie d'utiliser mon appel de mappage de demande post-appel


3 Réponses :


0
votes

Exchange code> est la méthode de faible niveau, et les plus spécifiques sont généralement plus amicales tant qu'ils couvrent votre cas d'utilisation. Vous recherchez un postforobject code> ( postforentity code> Si vous avez besoin des en-têtes):

return restTemplate.postForObject(url, incidentObject, IncidentReport.class);


5 commentaires

Question muette mais quel serait mon incidentobject ...?


@ROBDePietro Vous avez dit que vous alliez utiliser Resttemplate pour poster quelque chose .


1er paramètre est URL 2ND paramètre est un objet Java mappé de votre demande JSON que vous souhaitez poster 3ème paramètre est le type de réponse que vous attendez depuis appelé service


@ Chrylis-CAutieusementOmticistic - N'est-ce pas le corps de poste post JSON fourni avec l'appel http appel mon incidentObject?


@RobDepietro êtes-vous peut-être confondre le rôle de Resttemplate ? Son travail est pour vous de faire des appels HTTP à une API; Si vous êtes Gestion des appels http entrants , ce n'est pas l'outil dont vous avez besoin.



-1
votes

StackTrace aurait été plus utile. Je pense que vous devriez instancier la plaque de repos ci-dessous. XXX PRE>

AutoWirer dans votre classe de contrôleur P>

 @Autowired
private RestTemplate myRestTemplate;


0 commentaires

-1
votes

Depuis le démarrage Spring BottOconfigures Resttemplate CODE> et ObjectMapper CODE> Pour sérialiser / désérialiser dans votre @RestController CODE> NOINTS DE NOUS N'AVEZ PAS À COLLER AVEC Resttemplate code> du tout et peut utiliser la fonctionnalité comme indiqué dans l'extrait de code suivant:

@RestController
@RequestMapping("/api/feedback")
public class FeedbackController {

    @Autowired private FeedbackFacade feedbackFacade;

    @PostMapping("/")
    public ResponseEntity<IncidentReport> createIncidentReport(
            @RequestBody IncidentReport incidentReport)
    {
        log.info("Create incident report {}", incidentReport);
        var createdIncidentReport = feedbackFacade.create(incidentReport);
        log.info("Created incident report: {}", createdIncidentReport);
        return new ResponseEntity<>(createdIncidentReport, HttpStatus.CREATED)
    }
}


0 commentaires