버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

HTTP Method용도Spring Annotation기타
WebREST
GET정보를 가져올 때@Get@GetMappingURL을 통해 파라미터 형식으로 전달
POST정보를 변경할때전체를 변경할 때@Post@PostMappingHTTP Request Body에 변경할 내용을 포함해서 서버로 전달
PUT정보를 신규로 저장할 때@Put@PutMappingHTTP Request Body에 신규로 저장할 내용을 포함해서 서버로 전달
DELETE정보를 삭제할때@Delete@DeleteMappingURL을 통해 파라미터 형식으로 전달
PATCH정보를 부분 변경할 때@Patch@PatchMappingHTTP Request Body에 변경할 내용을 포함해서 서버로 전달
  • REST 이전에는 POST 방식으로 데이터를 변경(신규 추가, 변경, 삭제)하는 작업을 수행함
  • PUT, DELETE는 REST 이전에 보안 위배로 등록되어 활용할 수 없었으며 현재도 막는 기업들이 있음

...

파라미터 종류URL 형식Spring Annotation예시
Request Parameter/login?index=1&page=2@RequestParam


코드 블럭
languagejava
linenumberstrue
@GetMapping("login")
public ModelAndView login(@RequestParam("index") int index, 
                          @RequestParam("page") int page) {
  //...    
}


Path Variable/index/1@PathVariable


코드 블럭
languagejava
linenumberstrue
@PostMapping("index/{idx}")
@ResponseBody
public ModelAndView index(@PathVariable("idx") int index) {
  //...
}


Request Body의 형식

형식유형설명
텍스트

JSON

REST 방식의 출현, AJAX의 출현을 JSON 형식이 현재 가장 대세

과거 JSON은 UI에서 사용하던 기술이나 이제는 Server 간 데이터 송수신에서도 JSON을 사용

XML

과거 XML은 이기종 시스템(Server)간 데이터 송수신시 가장 완벽한 포맷으로 사용

XSD 등의 스키마를 통해 데이터의 구조 및 유효성이 보장

XML은 파싱에 과도한 비용이 소요되고 무겁다는 인식으로 최근은 사용하지 않음

PLAIN

JSON, XML도 엄밀하게 따져보면 PLAIN TEXT

어떤 것이든 PLAIN TEXT로 내용을 담을 수 있음

바이너리IMAGE

이미지 파일을 송수신할 때 Request & Response Body에는 이미지 바이너리 데이터가 포함

파일의 포맷은 HTTP Header를 통해서 전달되며 웹 브라우저는 헤더를 보고 어떤 포맷인지를 확인한 후 바이너리를 로딩하여 처리

기타 미디어

MP4 등도 Request & Response Body에 포함이 가능하며 HTTP Header를 보고 결정

웹 브라우저인 경우 HTTP Header를 보고 알아서 동작함

웹 브라우저가 아닌 경우 개발자가 알아서 처리함

...