본문 바로가기
Spring

[스프링의 정석] RestAPI, Ajax

by 리잼 2023. 4. 26.
반응형

1. json

  • Java Script Object Notation - 자바 스크립트 객체 표기법
    { key1: value1, key2:value },
    [{ key1: value1, key2:value }] << 배열
    {key: { key1: value1, key2:value }, key: { key1: value1, key2:value }} << Map 형태 

2. stringify(), parse()

  • js객체를 서버로 전송하려면, 직렬화( 문자열로 변환 )가 필요
    • JSON.stringify() - 객체를 JSON 문자열로 변환 ( 직렬화, JS객체 -> 문자열 )
    • JSON.parse() - JSON 문자열을 객체로 변환 ( 역직렬화, 문자열 -> JS 객체 )

3. Ajax ( Asynchronous javascript and XML )

  • 비동기 통신으로 데이터를 주고 받기 위한 기술
  • 웹 페이지 전체(data + UI)가 아닌 일부(data)만 업데이트 가능

동기와 비동기

 

@RsetController

@ResponseBody대신, @RestController 사용가능

Controller >> RestController

REST란

  • Roy Fielding이 제안한 웹 서비스 디자인 아키텍쳐 접근방식
  • 프로토콜에 독립적, 주로 HTTP를 사용해서구현
  • 리소스 중심으로 API 디자인 - HTTP메서드로 수해할 작업을 정의

REST API란

  • Representational State Tansfer API – REST규약을 준수하는 API

RESTful API 설계

작업 URI HTTP 메서드 설명
읽기 /comment/read?cno=번호 GET 지정된 번호의 댓글을 보여준다
쓰기 /comment/write POST 작성한 게시물을 저장한다
삭제 /comment/remvoe POST 댓글을 삭제한다.
수정 /comment/modify POST 수정된 게시물을 저장한다.
작업 URI HTTP 메서드 설명
읽기 /comments GET 모든 댓글을 보여준다
읽기 /comments/{cno} GET 지정된 번호의 댓글을 보여준다.
쓰기 /comment POST 새로운 덧글을 저장한다.
삭제 /comments/{cno} DELETE 지정된 번호의 댓글을 삭제한다.
수정 /comments/{cno} PUT / PATCH 수정된 댓글을 저장한다.

 

반응형