새 표준을 만들기 전에 표준 확인
3105 단어 cleancodemailinglist
게시물Check for Standards Before Creating a New One은 Qvault에 처음 등장했습니다.
저는 최근 API의 캐싱 시스템을 우회하는 기능을 요청하는 팀의 백로그 게시판에 티켓을 열었습니다. 컨텍스트를 위해 우리 프런트 엔드 팀은 우리 팀의 API를 사용하여 ElasticSearch에 상당히 많은 요청을 하고 API 게이트웨이의 기능 중 하나는 ~30초 동안 많은 집계 결과를 캐시하는 것입니다. 때때로 그들은 ~30초 캐싱 창 내에서 동일한 쿼리 두 개를 실행해야 하고 업데이트된 결과 세트를 원합니다.
열린 요청은 "특정 쿼리에 대한 캐싱을 비활성화하려면 API에 매개 변수가 필요합니다"와 같은 내용을 읽었습니다. REST-ish-ful API에서 작업할 때 이를 수행할 수 있는 대략적인 방법
math.MaxInt
이 있으며 즉시 떠오르는 몇 가지 방법은 다음과 같습니다.?cache=false
쿼리 매개변수 resource/no-cache
엔드포인트 확장cache: false
HTTP 헤더"cache": false"
본문의 JSON 페이로드알고 보니 이미 이런 종류의 표준인
Cache-Control
request directives이 있습니다.Cache-Control: max-age=<seconds>
Cache-Control: max-stale[=<seconds>]
Cache-Control: min-fresh=<seconds>
Cache-Control: no-cache
Cache-Control: no-store
Cache-Control: no-transform
Cache-Control: only-if-cached
표준 헤더
Cache-Control: no-store
를 사용하면 API 설계 결정이 줄어들어 작업이 더 쉬워질 뿐만 아니라 API 클라이언트가 공통 작업을 수행하는 새로운 방법에 놀라지 않게 됩니다.그러나 상당히 잘 지원되는 표준을 사용하기로 결정했다고 해서 사용자가 기대할 다른 표준이 없다는 의미는 아니라는 점을 지적하고 싶습니다. 또한 사용자가 선택한 표준의 존재를 알고 있다는 의미도 아닙니다.
https://xkcd.com/927/
API의 동작이 "표준"또는 "예상"이라고 생각하는지 여부에 관계없이 동작을 문서에 추가하기만 하면 됩니다. 저에게는
Readme.md
의 다음 스니펫이 필요한 전부였습니다.## Cache busting
If you don't want your query cached, use the Cache-Control header.
Cache-Control: no-store
읽어 주셔서 감사합니다. 이제 과정을 수강하십시오!
기술 분야의 고임금 직업에 관심이 있으십니까? 실습 코딩 과정을 마친 후 인터뷰를 시작하고 멋지게 통과합니다.
Start coding now
질문?
질문이나 의견이 있으면 트위터에서 나를 팔로우하고 연락하십시오. 기사에서 실수를 한 경우 반드시 let me know 수정하여 수정할 수 있도록 해주세요!
Subscribe 받은 편지함으로 바로 전달되는 더 많은 코딩 기사를 보려면 내 뉴스레터로 보내십시오.
Reference
이 문제에 관하여(새 표준을 만들기 전에 표준 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bootdotdev/check-for-standards-before-creating-a-new-one-4po6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)