평행코드

스프링 맵핑메소드와 매개변수 본문

Spring

스프링 맵핑메소드와 매개변수

나의 오류는 누군가 겪었던 오류 2023. 12. 5. 23:22
어노테이션

Annotation은 클래스와 메서드에 추가하여 다양한 기능을 부여하는 역할을 한다.

 

controller메소드에 주소맵핑 → SpringFramework가 제공하는 어노테이션을 이용 맵핑

 

@RequestMapping(”주소”) : method get, post 모두 매핑

@GetMapping(”주소”) : method가 GET 방식일때 매핑

@PostMapping(”주소”) : 요청 method가 POST방식일때 매핑

@PutMapping(”주소”) : 요청 method가 PUT방식일때 매핑

@DeleteMapping(”주소”) : 요청 method가 DELETE방식일때 매핑

 

어노테이션 선언위치 : 메소드 선언부 위 [또는 클래스선언부 위]

 

맵핑메소드 선언하기 반환형(리턴값), 매개변수, 어노테이션알아보기

 

1. 반환형

1) String : /WEB-INF/views제외한 경로 + view이름(jsp이름)

등록된 InternalResourceViewResolver가 jsp를 찾아서 반환해줌

2) void : URL주소와 view의 경로이름이 같거나, HttpServletResponse로 직접응답을 한 경우

3) ModelAndView : view화면에 전달할 데이터와 view를 하나의 객체에 묶어서 viewresolver에 전달함

4) 클래스타입 : 객체자체를 응답하는 형식 -> json converter를 이용해서 변경하여 응답함 * 매소드 || 반환형에 @ResponseBody어노테이션을 추가

 

2. 매개변수

1) HttpServletRequest : http프로토콜의 request정보를 서블릿에게 전달하기 위해 사용

헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드 포함

 

2) HttpServletResponse : 요청을 보낸 클라이언트에게 응답을 보내기 위해 WAS에서 생성되어 서블릿에게 전달됨

서블릿은 이 객체를 이용하여 content type, 응답코드, 응답 메시지등을 전송

 

3) HttpSession : HttpSession은 Java의 인터페이스(interface)이며, 이를 사용하여 세션(session)을 제어할 수 있다

session은 쿠키의 트래픽 이슈와 cookie 변경으로 인한 보안 issue를 해결하기 위해 등장했다

 

4) java.util.Locale : 서버의 로케일정보를 저장한 객체

 

5) InputSteram/Reader : 읽어오는 스트림객체

 

6) OutputStream/Writer : 보내는 스트림객체 (클라이언트)

 

7) 기본자료형 변수 : 클라이언트가 보낸 Parameter데이터를 저장할 변수를 선언 -> 자동대입 매개변수명을 name 값과 동일하게 설정해주거나 @RequestParam을 이용해서 매핑처리해 줌 매개변수가 잘못된 경우 BadRequest에러가 발생함.

 

8) 클래스타입 (DTO) : Data베이스와 연동해서 데이터 저장하는 객체,

클라이언트가 전달한 parameter 데이터랑 매핑해서 객체를 생성해줌.

-> command * 객체의 필드와 parameter의 name값이 같은 데이터 매핑

 

9) java.util.Map : 클라이언트가 보낸 데이터를 map으로 처리함. *모두 단일값으로 받는다.

 

10) @RequestHeader(name값) : 해더정보를 가져올 수 있음.

 

11) @CookieValue(name값) : 쿠키에 저장되어있는 값을 가져올 수 있음 매핑메소드에 사용하는 추가 어노테이션

 

12) @ResponseBody : 객체를 응답할때 사용하는 어노테이션 java.class -> json

 

13) @RequestBody : 요청 body json데이터가 있으면 지정된 객체로 변환해서 저장 json -> java.class

 

14) @ModelAttribute : model저장관리 -> hibernate를 이용한 validator

 

15) @SessionAttribute(key값) : HttpSession에 저장된 특정값을 가져올때

'Spring' 카테고리의 다른 글

<Spring> bean validator 구현하는 방법  (1) 2023.12.11
<Spring> 로그 남기기  (2) 2023.12.11
<Spring legacy> Mybatis DB연결하기  (0) 2023.12.10
<Spring legacy> Model  (2) 2023.12.07
<Spring legacy> 개발환경구축  (0) 2023.12.05