HomeController에 파라미터를 넘기기 위한 메서드 들을 작성해보겠습니다.
String
@GetMapping("/name")
public void getName(String name) {
log.info(name);
}
http://localhost:8000/myapp01/name?name=kim |
URL 창에 다음과 같이 '?' 뒤에 변수명과 값을 넣어줍니다.
그리고 콘솔 창을 확인해보면
'kim'이라고 잘 넘어온 것을 확인할 수 있습니다.
Integer
@GetMapping("/age")
public void getAge(int age) {
log.info(age);
}
http://localhost:8000/myapp01/age?age=26 |
Integer도 마찬가지입니다.
Arrays
@GetMapping("/nos")
public void getNos(int nos[]) {
log.info(Arrays.toString(nos));
}
http://localhost:8000/myapp01/nos?nos=10&nos=26 |
Array를 이용하여 여러 값을 하나의 파라미터로 가져올 수 있습니다.
배열로 값을 가져옵니다.
배열이 아닐 경우는 앞에 있는 값을 하나만 가져옵니다.
Defualt
@GetMapping("/list")
public void getList(@RequestParam(defaultValue = "1", name = "p") int page) {
log.info(page);
}
list의 경우 @RequestParam을 이용하여 값이 넘어오지 않을 경우 설정된 기본 값이 들어가도록 default를 1로 설정합니다
또한 변수명이 길 경우 대체할 수 있는 이름을 p로 설정할 수 있습니다.
http://localhost:8000/myapp01/list?list=10 |
위와 같이 변수명이 지정한 'p'가 아닌 경우 일치하지 않는 것으로 간주되어 default 값인 1이 부여됩니다.
http://localhost:8000/myapp01/list?p=10 |
설정된 'p'로 값을 주어야 제대로 부여됩니다.
VO
VO 객체를 생성하여 값을 가져와 보겠습니다.
package com.jhoney.myapp01;
import lombok.Data;
@Data
public class DataVO {
private String name;
private int age;
}
같은 패키지 안에 DataVO 객체를 생성합니다.
getter/setter를 @Data 어노테이션으로 자동으로 생성합니다.
@GetMapping("/data")
public void getData(DataVO vo) {
log.info(vo);
}
http://localhost:8000/myapp01/data?name=kim&age=26 |
DataVO 객체에 선언된 name과 age에 값을 넣어줍니다.
콘솔을 통해 잘 들어간 것을 확인할 수 있습니다.
'Java > Spring' 카테고리의 다른 글
[Spring] Spring MVC Interceptor (0) | 2024.06.24 |
---|---|
스케줄링 사용법, 크론(cron) 표현식 (0) | 2022.06.21 |
Log4j error (org.apache.log4j.Logger cannot be resolved to a type) (0) | 2021.02.27 |
Spring Legacy Project part 2. (JUnit Test) (0) | 2021.02.26 |
Spring Legacy Project part 1. (Lombok, DI) (0) | 2021.02.24 |