@DeleteMappingおよび@PostMappingおよび@GetMappingおよびContent-Type使用レコード

10618 ワード

前のコードの例では、コメントがあるので、自分で試してみてください.
@RestController
@RequestMapping(value = "demo")
public class TestController {

    //Content-Type:application/x-www-form-urlencoded;    form-data
    @PostMapping("/demo1")
    public String test1(@RequestParam("id") Integer id,@RequestParam("name") String name) {
        System.out.println("test1......");
        return Integer.valueOf(id) + ":" + name;
    }

    //Content-Type:application/x-www-form-urlencoded
    @PostMapping("/demo2")
    public String test2(DemoUser demoUser) {
        System.out.println("test2......");
        return Integer.valueOf(demoUser.getId()) + ":" + demoUser.getName();
    }
    //Content-Type:application/json
    @PostMapping("/demo3")
    public String test3(@RequestBody DemoUser demoUser) {
        System.out.println("test3......");
        return Integer.valueOf(demoUser.getId()) + ":" + demoUser.getName();
    }

    //Content-Type:application/x-www-form-urlencoded;form-data  ;application/json( @RequestBody  )   
    @DeleteMapping("/demo4")
    public String test4(@RequestParam("id") Integer id,@RequestParam("name") String name) {
        System.out.println("test4......");
        return Integer.valueOf(id) + ":" + name;
    }

    //http:localhost:8080/demo/1
    @GetMapping("/{id}")
    public String test5(@PathVariable("id") Integer id) {
        System.out.println("test5....");
        return String.valueOf(id);
    }
     //application/json
    @PostMapping("/demo6")
    public String test6(@RequestBody Map<String,Object> map) {
        System.out.println("test6...............");
        return map.get("id") + ":" + map.get("name");
    }
}


content-typeは、あなたのフロントエンドがそのような方法で参を伝えることを示しています.アプリケーション/jsonがjsonパラメータを使用する場合、バックグラウンドでは@RequstBodyでパラメータを受け入れる必要があります.
form-dataフォームでパラメータを渡す場合は、バックグラウンドでvoオブジェクトで直接受信するか、@RequestParamパラメータを直接使用して受け入れることができます.
最後の例ではhttp:localhost:8080/demo/{id}–この方法でパラメータを受け入れるには@PathVariableが必要です