//////
Search
🗒️

어노테이션

날짜
2022/10/28
작성자
황민우
카테고리
회고

스프링부트 어노테이션

핸들러(Controller) 매핑

RequestMapping
@RequestMapping(value="{URI}", method={RequestMethod}
Java
복사
GetMapping
@GetMapping("{URI}")
Java
복사
PostMapping
PutMapping
DeleteMapping

매개변수

PathVariable : http://www.example.com/api/user/{id} 경로에 변수를 담아올때
게시판에 글을 불러온다. GET /api/posts/{id} 게시글 불러오기.
RequestParam : http://www.example.com/api/user?id={id}&name={name} 쿼리에 변수를 담아올때
페이징 : 활용 가능. /api/posts?page=2&limit=25
RequestBody : JSON을 http body에 담아올때 → Post, Put 사용 가능 Get도 사용은 가능한데 보통 사용하지 않음. Delete에는 아예 Body를 실어보낼 수 없다.
/menu/1234 아이디와 패스워드를 url에 담아보내면 보안에 취약
POST 요청 보내고 아이디랑 패스워드를 Body담는다.
RequestBody가 알아서 Json형식의 Body를 자바 객체로 변환해줌. 객체 → json, json → 객체로 변환해주는 jackson, gson이 스프링부트 web에 들어가있음.

Controller

RestController : 안에 ResponseBody 있음. response 객체를 json으로 변환.
Controller : html이나 jsp 등 View를 전달해 줄 수 있음. 타임리프같은 템플릿 엔진 필요(?)
View를 반환해줌.
@Contorller public class MyController { @GetMapping("/my") public String index() { return "index.html"; } //... }
Java
복사

빈 등록

@SpringBootApplication 안에 @ComponentScan이 있음.
@Component를 스캔하여 빈으로 등록함.
@Component 종류
Controller
RestController
Service
Repository