From ae3d4b54d3c72a0d9ee7d91cfdaf4a5cfb60547d Mon Sep 17 00:00:00 2001 From: haerong22 Date: Tue, 6 Apr 2021 20:10:54 +0900 Subject: [PATCH] spring mvc : request mapping --- .../requestmapping/MappingController.java | 93 +++++++++++++++++++ .../src/main/resources/application.properties | 2 +- 2 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 spring-mvc/springmvc/src/main/java/com/example/springmvc/basic/requestmapping/MappingController.java diff --git a/spring-mvc/springmvc/src/main/java/com/example/springmvc/basic/requestmapping/MappingController.java b/spring-mvc/springmvc/src/main/java/com/example/springmvc/basic/requestmapping/MappingController.java new file mode 100644 index 00000000..6b8f35e2 --- /dev/null +++ b/spring-mvc/springmvc/src/main/java/com/example/springmvc/basic/requestmapping/MappingController.java @@ -0,0 +1,93 @@ +package com.example.springmvc.basic.requestmapping; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +@Slf4j +@RestController +public class MappingController { + + @RequestMapping({"/hello-basic", "/hello"}) + public String helloBasic() { + log.info("helloBasic"); + return "ok"; + } + + @RequestMapping(value = "/mapping-get-v1", method = RequestMethod.GET) + public String mappingGetV1() { + log.info("mappingGetV1"); + return "ok"; + } + + @GetMapping(value = "/mapping-get-v2") + public String mappingGetV2() { + log.info("mapping-get-v2"); + return "ok"; + } + + @GetMapping("/mapping/{userId}") + public String mappingPath(@PathVariable("userId") String data) { + log.info("mappingPath userId = {}", data); + return "ok"; + } + + @GetMapping("/mapping/users/{userId}/orders/{orderId}") + public String mappingPath(@PathVariable String userId, @PathVariable Long orderId) { + log.info("mappingPath userId={}, orderId={}", userId, orderId); + return "ok"; + } + + /** + * 파라미터로 추가 매핑 + * params="mode", + * params="!mode" + * params="mode=debug" + * params="mode!=debug" (! = ) + * params = {"mode=debug","data=good"} + */ + @GetMapping(value = "/mapping-param", params = "mode=debug") + public String mappingParam() { + log.info("mappingParam"); + return "ok"; + } + + /** + * 특정 헤더로 추가 매핑 + * headers="mode", + * headers="!mode" + * headers="mode=debug" + * headers="mode!=debug" (! = ) + */ + @GetMapping(value = "/mapping-header", headers = "mode=debug") + public String mappingHeader() { + log.info("mappingHeader"); + return "ok"; + } + + /** + * Content-Type 헤더 기반 추가 매핑 Media Type + * consumes="application/json" + * consumes="!application/json" + * consumes="application/*" + * consumes="*\/*" + * MediaType.APPLICATION_JSON_VALUE + */ + @PostMapping(value = "/mapping-consume", consumes = "application/json") + public String mappingConsumes() { + log.info("mappingConsumes"); + return "ok"; + } + + /** + * Accept 헤더 기반 Media Type + * produces = "text/html" + * produces = "!text/html" + * produces = "text/*" + * produces = "*\/*" + */ + @PostMapping(value = "/mapping-produce", produces = "text/html") + public String mappingProduces() { + log.info("mappingProduces"); + return "ok"; + } +} diff --git a/spring-mvc/springmvc/src/main/resources/application.properties b/spring-mvc/springmvc/src/main/resources/application.properties index c69af549..0d495899 100644 --- a/spring-mvc/springmvc/src/main/resources/application.properties +++ b/spring-mvc/springmvc/src/main/resources/application.properties @@ -1,2 +1,2 @@ -logging.level.com.example.springmvc=trace \ No newline at end of file +#logging.level.com.example.springmvc=trace \ No newline at end of file