ich die folgende Situation:Vorwärts JSON-POST-Anfrage von einem REST-API auf einem anderen
Mein REST-API ein:
@RestController
@RequestMapping("/controller1")
Public Class Controller1{
@RequestMapping(method = RequestMethod.POST)
public void process(@RequestBody String jsonString) throws InterruptedException, ExecutionException
{
............
}
}
JSON-POST-Anfrage, Anfrage1, für die REST-API (Controller1):
{
"key1":"value1",
"key2":"value2"
}
Meine REST API zwei:
@RestController
@RequestMapping("/controller2")
Public Class Controller2{
@RequestMapping(method = RequestMethod.POST)
public void process(@RequestBody String jsonString) throws InterruptedException, ExecutionException
{
............
}
}
JSON Anfrage, request2, für die REST-API (Controller2):
{
"key1":"value1",
"key2":"value2",
"key3":"value3"
}
ich mehrere solcher "primitive" Wünsche haben. Nun, ich bin ein JSON-Anfrage erwartet, nennen wir es request3, die eine Kombination von solchen „primitiven“ queries- ist etwas, das wie unten aussieht:
{
{
"requestType":"requestType1",
"request":"[{"key1":"value1","key2":"value2"}]"
},
{
"requestType":"requestType2",
"request":"[{"key1":"value1","key2":"value2","key3":"value3"}]"
}
}
Hier, ich brauche die entsprechende API (eine auslösen oder zwei) nach Identifizierung des Abfragetyps. Ich möchte wissen, wie ich die Anfrage an die entsprechende REST-API weiterleiten kann. Ich schrieb die REST API für request3 wie folgt:
@RestController
@RequestMapping("/controller3")
Public Class Controller3{
@RequestMapping(method = RequestMethod.POST)
public void process(@RequestBody String jsonString) throws InterruptedException, ExecutionException
{
..................
..................
switch(request){
case request1: //how to call REST API 1?
case request2: //how to call REST API 2?
}
}
}
Vielen Dank für die schicken antworte @TharsanSivakumar. Aber wie sende ich nur die erforderliche Anforderungszeichenfolge in der sendRedirect-Methode an die Ziel-REST-API, nachdem sie aus der Gesamtanforderung extrahiert wurde? Bitte beachten Sie, dass die REST-API-Zielmethode die folgende Signatur hat: @RequestMapping (method = RequestMethod.POST) public void process (@RequestBody String jsonString) –
Ich habe meine Antwort bearbeitet, anstatt nur umzuleiten, Sie können die Spring's Rest-Vorlage verwenden die Anfrage mit Parametern leicht –