@Controller (Class)
:: 스프링 MVC의 컨트롤러 객체임을 명시하는 애노테이션
@RequestMapping (Class, Method)
:: 특정 URI에 매치되는 클래스나 메서드임을 명시
@RequestParam (Param)
:: req에서 특정한 파라미터의 값을 찾아낼 때 사용
@RequestHeader (Param)
:: req에서 특정 HTTP 헤더 정보를 추출할 때 사용
@PathVariable (Param)
:: 현재의 URI에서 원하는 정보를 추출
@CookieValue (Param)
:: 현재 사용자의 쿠키가 존재하는 경우 쿠키의 이름을 이용해 값을 추출
@ModelAttribute (Method, Param)
:: 자동으로 해당 객체를 뷰까지 전달하도록 만든다.
@SessionAttribute (Class)
:: 세션상에서 모델의 정보를 유지하고 싶은 경우에 사용
@InitBinder (Method)
:: 파라미터를 수집해서 객체로 만들 경우에 커스터마이징
@ResponseBody (Method, returnType)
:: 리턴 타입이 TTP의 응답 메시지로 전송
@RequestBody (Param)
:: req 문자열이 그대로 파라미터로 전달
@Repository (Class)
:: Dao 객체
@Service (Class)
:: service 객체
:: 만들어진 결과 데이터를 전달해야하는 경우 사용하는데 JSON/XML과 같은 데이터를 View에 전달하기 위해서 사용하는데 JSON형태로 반환한다. (일반 객체)
@Controller
public class SampleJsonController{
@RequsetMapping("/list")
public @RequestBody ProductVo doJson(){
ProductVo product = new ProductVo("샘플", 3000);
return product;
}
}
>> localhost:8080/doJson
{"name":"샘플", "price": 3000.0}
:: 실행 결과, 응답된 데이터는 'application/json'타입으로 출력된다.