इसलिए मैंने एक साधारण आराम सेवा बनाने के लिए नीचे दी गई स्प्रिंग गाइड का पालन किया है। https://spring.io/guides/gs/rest-service/

फिलहाल मैं यूआरएल के लिए जीईटी अनुरोध का उपयोग करके कुछ मूल्य प्राप्त करने के लिए पोस्टमैन का उपयोग कर सकता हूं http://localhost:8080/greeting< /ए>

अब मैं इसे एक पोस्ट अनुरोध में बदलना चाहता हूं और पोस्टमैन से मेरे नियंत्रक को कुछ JSON संरचना भेजना चाहता हूं, और पोस्टमैन से भेजे गए तत्वों को भी प्राप्त करना चाहता हूं और उदाहरण के लिए, उन्हें मेरे कंसोल में प्रिंट करना चाहता हूं। मेरा नियंत्रक कोड इस तरह दिखता है:

@RestController
public class GreetingController {

    private static final String template = "Hello, %s!";
    private final AtomicLong counter = new AtomicLong();

    @RequestMapping("/greeting")
    public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
        return new Greeting(counter.incrementAndGet(), String.format(template, name));
    }
}

मान लें कि मैं JSON संरचना पोस्ट करना चाहता हूं:

{
  "header": {"name": "1234"},
  "address": "someplace"
}

मैं अपने जावा कोड में पता तत्व को पुनः प्राप्त करने और प्रिंट करने के बारे में कैसे जाउंगा?

0
PalBo 27 जून 2019, 11:19

2 जवाब

सबसे बढ़िया उत्तर

अपने अनुरोध डेटा के लिए बस एक पूजो बनाएं जैसे

public class RequestData {
    Map<String,String> header;
    String address;
}

और एक नियंत्रक विधि

@PostMapping("/request")
public ResponseEntity postController(
  @RequestBody RequestData requestData) {

    System.out.println(requestData.address)
    return ResponseEntity.ok(HttpStatus.OK);
}
2
Marc Ströbel 27 जून 2019, 11:28

यदि आपके पास पेलोड है जो परिवर्तन आवश्यकता पर निर्भर करता है तो आप पीओजेओ कक्षा के बजाय मानचित्र का उपयोग कर सकते हैं।

@RequestMapping(value = "/greeting", method = RequestMethod.POST)
public String greeting(HashMap<String,Object> payload){
....
....
}
0
benson micheal 27 जून 2019, 11:51