Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 코루틴 빌더
- vfr video
- 달인막창
- JanusWebRTC
- PersistenceContext
- table not found
- JanusWebRTCGateway
- 티스토리챌린지
- JanusGateway
- taint
- preemption #
- 자원부족
- Spring Batch
- 코루틴 컨텍스트
- addhooks
- mp4fpsmod
- JanusWebRTCServer
- python
- Value too long for column
- VARCHAR (1)
- PytestPluginManager
- 개성국밥
- terminal
- pytest
- 겨울 부산
- 오블완
- kotlin
- tolerated
- 깡돼후
Archives
너와 나의 스토리
URL Design 본문
반응형
이상적인 RUL: 짧고, 기술적이고, 효율적
URL design: the technical basics
1. 단어를 hyphen으로 구분하기
eg. example.com/tennisequipment-> example.com/tennis-equipment
* underscores( _ ) 사용하지 않기!
2. URLs 안에 데이터 사용하는 것 고려하기
eg. http://www.news.com/2015/08/17/news-article
-> 해당 게시물에 날짜 스탬프를 업데이트하면, url도 변경되고, 이전 url이 새로운 url로 리다이렉션 되는지 확인해야 함.
3. 소문자로 작성하기
4. 절대 CRUD 함수 이름을 URL에 사용하면 안 된다.
- GET "/devices/{id}"
- DELETE "/devices/{id}"
- 이런 식으로 http method를 사용해서 구분하면 된다.
5. 리소스명은 동사보다는 명사를 사용
6. HTTP Method
- POST: create
- GET: read
- PUT: 전체 update
- 만약 일부 field가 생략되어 입력이 들어오면, 생략된 field는 null 처리되므로 주의!
- PATFCH: 일부 update
- DELETE: delete
Update와 Insert가 동시에 일어난다면??
-> upsert operation 발생
- 데이터가 추가된 경우 -> 201(create) Status code 리턴
- 데이터가 수정된 경우 -> 200(ok) or 204(noo content) Status code 리턴
- 이렇게 알리고, PUT을 upstream 연산에 사용한다.
"자원은 singleton 이거나 collection이다"
- "/customers" -> collection
- "/customer" -> singleton resource
- "/customers/{customerId}"같은 느낌으로 사용
- eg. "/customers/{customerId}/accounts",
출처:
- https://stackoverflow.com/questions/18470588/in-rest-is-post-or-put-best-suited-for-upsert-operation
- https://restfulapi.net/resource-naming/
- https://www.deepcrawl.com/blog/best-practice/guide-to-url-design/
반응형
'개발 > Spring Boot' 카테고리의 다른 글
Spring security - 용어 정리/작동 방식/JWT (0) | 2020.08.22 |
---|---|
HATEOAS 설정하기 - swagger와 함께 사용하기 (에러 해결) (0) | 2020.08.04 |
[Spring security] "*.permitAll()"을 해도 post가 안된다면 (1) | 2020.07.17 |
import org.h2.server.web.WebServlet; 에러나는 경우 해결법 (0) | 2020.07.10 |
[Spring] Intellij - http로 json 데이터 전송 (0) | 2020.05.10 |
Comments