컨트롤
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)
댓글 남기기