티스토리 뷰
JSend ?
JSend는 웹 서버의 JSON 응답 형식을 지정하는 방법에 대한 몇 가지 규칙을 규정 한 사양이다.
JSON 데이터를 제공하는 많은 웹 서비스가 있고, 각각 고유한 형식의 응답 형식이 있다. 근데, 데이터를 구성하는 데는 공통적인 패턴은 많이 있지만, naming 또는 types of response 와 같은 항목에는 약속이 없다.
또한 모든 사람이 서로 상호 작용하는 일반적인 접근 방식을 기대할 수 있기 때문에 상호간의 통일성을 개선하는데 도움이 된다.
성공 -> status, data
실패 -> status, data
에러 -> status, message
어떤식으로 사용되는지 예시
Success example
// GET /posts.json
{
status : "success",
data : {
"posts" : [
{ "id" : 1, "title" : "A blog post", "body" : "Some useful content" },
{ "id" : 2, "title" : "Another blog post", "body" : "More content" },
]
}
}
// GET /posts/2.json
{
status : "success",
data : { "post" : { "id" : 2, "title" : "Another blog post", "body" : "More content" }}
}
// DELETE /posts/2.json
{
status : "success",
data : null
}
Required keys:
- stats: "success"
- data: 반환한 모든 데이터를 감싸는 역할을 한다. DELETE 와 같이 반환되는 데이터가 없으면 null로 설정한다.
Fail example
// POST /posts.json (with data body: "Trying to creating a blog post"):
{
"status" : "fail",
"data" : { "title" : "A title is required" }
}
유효하지 않은(not validates) 데이터 또는 호출 조건으로 인해 API 호출이 거부되면 JSend 오브젝트의 data key에는 일반적으로 유효성 검증 오류의 hash 와 같이 잘못된 사항을 설명하는 객체가 포함됩니다.
Required keys:
- status: "fail"
- data: 요청이 실패한 이유를 제공한다. 이때 실패 이유가 POST vlaues 에 해당하는 경우, response 객체의 Key 는 해당 POST 값에 해당해야 한다.
Error example
// GET /posts.json
{
"status" : "error",
"message" : "Unable to communicate with database"
}
Required keys:
- status: "error"
- message: 무엇이 잘못되었는지에 대한 message가 있고, 최종 사용자가 읽을 수 있는 메시지
Optional keys:
- code: 오류에 해당 하는 상태 코드 (404, 500 ...)
- data: 오류에 대한 정보 (발생된 원인 부분, stack traces ...)
'etc' 카테고리의 다른 글
문자 인코딩과 유니코드 (0) | 2021.04.18 |
---|---|
yaml 설정파일 값 사용하기 (0) | 2021.04.01 |
trailing commas (0) | 2021.03.21 |
REST API 설계 가이드 (0) | 2021.03.19 |
Forward, Redirect (0) | 2021.03.04 |
- Total
- Today
- Yesterday
- 백준
- 이펙티브자바 아이템59
- JS 딥다이브
- js array
- 김영한 http
- js promise
- HTTP 완벽 가이드
- http
- 이펙티브자바 아이템60
- 패스트캠퍼스 컴퓨터공학 완주반
- 프로그래머스 SQL
- dreamcoding
- java
- HTTP 완벽가이드
- 드림코딩
- js api
- JPA 연관관계 매핑
- 김영한 JPA
- GCP
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- Spring Security
- 프로그래머스
- REST API
- 백기선 스터디
- 모던자바스크립트
- 이펙티브자바 스터디
- BOJ
- ㅇㄷㅇㅈ
- 이펙티브자바
- 킹수빈닷컴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |