https://developer.mozilla.org/ko/docs/Web/HTTP/Status
http는 요청과 응답으로 구성되어있고
클리이언트가 요청을하면
서버가 응답을 하는 구조로 되어있다.
화면을 가져오는건 컨트롤러 역할,
화면의 삭제 수정은 레스트컨트롤러 역할
GET
POST
PUT
DELETE
200: 정상
(400 구간은 이용자의 잘못이 다수,)
400: 유저가 잘못 요청함
401: 로그인 안함.
(500 구간은 개발자의 잘못한것이 일반적)


타입리프가 뷰리졸버 => 폴더검색에서 모델을 입력해주는 역할이다.
https://meetup.nhncloud.com/posts/92
첫 번째, URI는 정보의 자원을 표현해야 한다.
두 번째, 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.
GET /members/delete/1
위와 같은 방식은 REST를 제대로 적용하지 않은 URI이다.
URI는 자원을 표현하는데 중점을 두어야 하고
delete와 같은 행위에 대한 표현이 들어가서는 안된다.
위의 잘못 된 URI를 HTTP Method를 통해 수정해 보면
DELETE /members/1
으로 수정할 수 있다.
회원정보를 가져올 때는 GET,
회원 추가 시의 행위를 표현하고자 할 때는 POST METHOD를 사용하여 표현.

GET /members/show/1 (x)
GET /members/1 (o)
GET /members/insert/2 (x) - GET 메서드는 리소스 생성에 맞지 않습니다.
POST /members/2 (o)
POST, GET, PUT, DELETE 이 4가지의 Method를 가지고 CRUD를 할 수 있습니다.
다음과 같은 식으로 URI는 자원을 표현하는 데에 집중하고 행위에 대한 정의는 HTTP METHOD를 통해 하는 것이 REST한 API를 설계하는 중심 규칙이다.

@Controller
public class MainControllerAPiV1 {
@Autowired
private MainService mainService;
//Body라는 데이터를 보내겠다.
//응답할때 화면이 아니라 데이터를 보낸다.
@GetMapping("/api/v1/main")
public @ResponseBody List<ResMainDTO> getMainData(){
return mainService.getMainPageData();
}
}
거대 사이트들은 무언가를 뜯어고쳐 버전을 올릴려면 뭔가 할게 많다.
그렇기에 다른 함수를 생성하는것과 가깝다.



이러면 해당 메서드 하나에만 적용되고.

이러면 모든 메서드에 적용된다