컨트롤
ExampleParameterController
import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import kr.net.macaronics.mvc.domain.dto.ExampleParameter; import kr.net.macaronics.mvc.domain.dto.ExampleRequestBodyUser; @Controller @RequestMapping("/example/parameter") public class ExampleParameterController { /** * 자료형으로 파라미터 받는 방법 * @param id * @param code * @param model */ @GetMapping("/example1") public void example1(@RequestParam String id, @RequestParam String code, Model model) { model.addAttribute("id" ,id); model.addAttribute("code" ,code); } /** * Map을 활용한 파라미터 받는 방법 * @param paramMap * @param model */ @GetMapping("/example2") public void example2(@RequestParam Map<String,Object> paramMap, Model model) { model.addAttribute("paramMap" ,paramMap); } /** * Class를 활용한 파라메터 받는 방법 * @param parameter * @param model */ @GetMapping("/example3") public void example3(ExampleParameter parameter, Model model) { model.addAttribute("parameter" ,parameter); } /** * @PathVariable 을 활용한 파라메터 받는 방법 * @param id * @param code * @param model * @return */ @GetMapping("/example4/{id}/{code}") public String example4(@PathVariable String id, @PathVariable String code, Model model) { model.addAttribute("id" ,id); model.addAttribute("code" ,code); return "/example/parameter/example4"; } /** * Stirng[] 배열을 받는방법 * @param ids * @param model * @return */ @GetMapping("/example5") public String example5(@RequestParam String[] ids, Model model) { model.addAttribute("ids" ,ids); return "/example/parameter/example5"; } /** * example6 json Form */ @GetMapping("/example6/form") public String example6() { return "/example/parameter/example6/form"; } /** * json Map 으로 받는 방법 * @param requestBody * @param model * @return */ @PostMapping("/example6/saveData") @ResponseBody public Map<String, Object> example6(@RequestBody Map<String,Object> requestBody, Model model) { Map<String, Object> resultMap=new HashMap<String, Object>(); resultMap.put("requestBody", requestBody); resultMap.put("result", true); return resultMap; } /** * example7 json Form */ @GetMapping("/example7/form") public String example7Form() { return "/example/parameter/example7/form"; } /** * json class 으로 받는 방법 * @param requestBody * @param model * @return */ @PostMapping("/example7/saveData") @ResponseBody public Map<String, Object> example7(@RequestBody ExampleRequestBodyUser requestBody, Model model) { Map<String, Object> resultMap=new HashMap<String, Object>(); resultMap.put("requestBody", requestBody); resultMap.put("result", true); return resultMap; } }
1.자료형으로 파라미터 받는 방법
/** * 자료형으로 파라미터 받는 방법 * @param id * @param code * @param model */ @GetMapping("/example1") public void example1(@RequestParam String id, @RequestParam String code, Model model) { model.addAttribute("id" ,id); model.addAttribute("code" ,code); }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Example</title> </head> <body> <h1>example1</h1> <h2> id : {{id}}</h2> <h2> code : {{code}}</h2> </body> </html>
2.Map을 활용한 파라미터 받는 방법
/** * Map을 활용한 파라미터 받는 방법 * @param paramMap * @param model */ @GetMapping("/example2") public void example2(@RequestParam Map<String,Object> paramMap, Model model) { model.addAttribute("paramMap" ,paramMap); }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Example</title> </head> <body> <h1>example2</h1> <h2> paramMap.id : {{paramMap.id}}</h2> <h2> paramMap.code : {{paramMap.code}}</h2> </body> </html>
3.Class를 활용한 파라메터 받는 방법
/** * Class를 활용한 파라메터 받는 방법 * @param parameter * @param model */ @GetMapping("/example3") public void example3(ExampleParameter parameter, Model model) { model.addAttribute("parameter" ,parameter); }
ExampleParameter
import lombok.Data; @Data public class ExampleParameter { private String id; private String code; }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Example</title> </head> <body> <h1>example3</h1> <h2> parameter.id : {{parameter.id}}</h2> <h2> parameter.code : {{parameter.code}}</h2> </body> </html>
4.@PathVariable 을 활용한 파라메터 받는 방법
/** * @PathVariable 을 활용한 파라메터 받는 방법 * @param id * @param code * @param model * @return */ @GetMapping("/example4/{id}/{code}") public String example4(@PathVariable String id, @PathVariable String code, Model model) { model.addAttribute("id" ,id); model.addAttribute("code" ,code); return "/example/parameter/example4"; }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Example</title> </head> <body> <h1>example4</h1> <h2> id : {{id}}</h2> <h2> code : {{code}}</h2> </body> </html>
5. Stirng[] 배열을 받는방법
/** * Stirng[] 배열을 받는방법 * @param ids * @param model * @return */ @GetMapping("/example5") public String example5(@RequestParam String[] ids, Model model) { model.addAttribute("ids" ,ids); return "/example/parameter/example5"; }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Example</title> </head> <body> <h1>example5</h1> <h2> ids : {{ids}} </h2> {{#ids}} {{.}} {{/ids}} </body> </html>
6.json Map 으로 받는 방법
/** * example6 json Form 페이지 이동 */ @GetMapping("/example6/form") public String example6() { return "/example/parameter/example6/form"; } /** * json Map 으로 받는 방법 * @param requestBody * @param model * @return */ @PostMapping("/example6/saveData") @ResponseBody public Map<String, Object> example6(@RequestBody Map<String,Object> requestBody, Model model) { Map<String, Object> resultMap=new HashMap<String, Object>(); resultMap.put("requestBody", requestBody); resultMap.put("result", true); return resultMap; }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Example</title> </head> <body> <h1>example6</h1> <textarea style="width: 250px; height: 250px"></textarea> <br> <button type="button" onclick="dataSubmit()">데이터 전송</button> <script> function dataSubmit(){ const json={ user:{ name:"홍길동", age :14, address:"대한민국" } } fetch("/example/parameter/example6/saveData",{ method:"POST", headers:{ "Content-Type":"application/json" }, body:JSON.stringify(json) }) .then((response)=>response.json()) .then((res)=>{ console.log(res); document.querySelector("textarea").value=JSON.stringify(res, null, 4); }).catch((error)=>{ console.log("error : {}", error); }); } </script> </body> </html>
7.json class 으로 받는 방법
/** * example7 json Form 페이지 이동 */ @GetMapping("/example7/form") public String example7Form() { return "/example/parameter/example7/form"; } /** * json class 으로 받는 방법 * @param requestBody * @param model * @return */ @PostMapping("/example7/saveData") @ResponseBody public Map<String, Object> example7(@RequestBody ExampleRequestBodyUser requestBody, Model model) { Map<String, Object> resultMap=new HashMap<String, Object>(); resultMap.put("requestBody", requestBody); resultMap.put("result", true); return resultMap; }
ExampleRequestUser
import lombok.Data; @Data public class ExampleRequestUser { private String name; private String age; private String address; }
ExampleRequestBodyUser
import lombok.Data; @Data public class ExampleRequestBodyUser { private ExampleRequestUser user; }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Example</title> </head> <body> <h1>example6</h1> <textarea style="width: 250px; height: 250px"></textarea> <br> <button type="button" onclick="dataSubmit()">데이터 전송</button> <script> function dataSubmit(){ const json={ user:{ name:"이순신", age :24, address:"대한민국" } } fetch("/example/parameter/example7/saveData",{ method:"POST", headers:{ "Content-Type":"application/json" }, body:JSON.stringify(json) }) .then((response)=>response.json()) .then((res)=>{ console.log(res); document.querySelector("textarea").value=JSON.stringify(res, null, 4); }).catch((error)=>{ console.log("error : {}", error); }); } </script> </body> </html>
소스 :
댓글 ( 4)
댓글 남기기