728x90
API
- 네트워크에서 API는 프로그램 간에 상호작용 하기 위한 매개체
- 클라이언트의 요청을 서버에 전달하고, 서버의 결과물을 클라이언트에게 돌려주는 역할
REST API
- 자원을 이름으로 구분해 자원의 상태를 주고받는 API 방식
- url의 설계 방식
- url에는 동사를 쓰지말고, 자원을 표시해야 한다.
- 장점
- url만 보고도 무슨 행동을 하는 api인지 명확하게 알 수 있다
- http 표준을 사용하는 모든 플랫폼에서 사용할 수 있다
- 주소와 메서드만 보고 요청의 내용을 파악할 수 있다
- 단점
- http 메서드, get, post와 같은 방식의 개수에 제한이 있다.
- 공식적으로 제공되는 표준 규약이 없다,
응답코드
200 OK | 요청이 성공적으로 수행 |
201 Created | 요청이 성공적으로 수행되었고, 새로운 리소스가 생성 |
400 Bad Request | 요청 값이 잘못되어 요청에 실패 |
403 Forbidden | 권한이 없어 요청에 실패 |
404 Not Found | 요청 값으로 찾은 리소스가 없어 요청에 실패 |
500 Internal Server Error | 서버 상에 문제가 있어 요청에 실패 |
직렬화, 역직렬화
- HTTP에서는 JSON을, 자바에서는 자바 객체를 사용한다. 하지만 서로 형식이 다르기 때문에 형식에 맞게 변환하는 작업이 필요한데 이런 작업들을 직렬화, 역직렬화 라고 한다.
직렬화
- 자바 시스템 내부에서 사용되는 객체를 외부에서 사용하도록 데이터를 변환하는 작업
-> 자바 객체 -> JSON형식으로 변환
역직렬화
- 직렬화의 반대로, 외부에서 사용하는 데이터를 자바의 객체 형태로 변환하는 작업을 말한다.
-> JSON형식의 값 -> 자바 객체
-> ObjectMapper 클래스는 직렬화, 역직렬화를 가능하게 해는 클래스이다.
'스프링부트3 백엔드 개발자되기(AWS)' 카테고리의 다른 글
타임리프의 표현식과 문법 (0) | 2023.12.18 |
---|---|
스프링부트3 백엔드 개발자되기 개념정리2 (0) | 2023.11.08 |
스프링부트3 백엔드 개발자되기 개념정리1 (0) | 2023.11.08 |