laravel에서 dingo는 laravel 및 lumen 프레임워크용 API 개발 툴킷입니다. 주로 라우팅 버전 관리, "Http 예외" 예외 처리 및 "응답 변환" 변환 응답 형식의 세 가지 기능을 가지고 있습니다.
이 기사의 운영 환경: Windows 10 시스템, Laravel 버전 6, Dell G3 컴퓨터.
dingo는 laravel 및 lumen 프레임워크용 API 개발 툴킷입니다.
문서 디렉토리를 보면 API 사양에 따라 세 가지 주요 기능을 중심으로 회전합니다.
라우팅 버전 관리
Http 예외 예외 처리
Response 변환 응답 형식 변환
dingoapi Laravel의 오픈 소스 플러그인은 github에서 검색할 수 있습니다. 저는 현재 프로젝트를 진행 중입니다. 프로젝트에는 항상 백엔드 및 프론트엔드 JSON 데이터 상호 작용이 있으며 이 dingoapi는 JSON 상호 작용에 큰 편의를 제공합니다. .
라우팅 버전 제어
1. 관련 구성
1 api 서비스 선언
api 사양 요구 사항, api 접두사(http://XXX.com/api/xxx)를 사용한 인터페이스 개발 또는 하위 도메인 이름(http://api.XXX.com/xxx)입니다. 이러한 식별을 통해 API 인터페이스 서비스에 대한 요청임을 의미합니다.
그러므로 API_PREFIX=api, API_DOMAIN=api.myapp.com 중 하나로 설정해야 합니다.
.env 구성이 필요할 수 있는 옵션
물론 그 역할은 단순한 식별자가 아닙니다. dingo의 라우팅과 laravel의 라우팅이 공존한다는 것을 알고 있으며 dingo는 이 기능을 통해 이를 판단합니다.
2 버전 관리
dingo는 자체 라우팅 서비스를 제공하며, http://XXX.com/api/xxx 또는 http://api.XXX.com/xxx에 액세스하면 API 요청으로 간주됩니다. Dingo 라우팅 서비스 DingoApiRoutingRouter는 laravel과 함께 제공되는 라우팅 서비스 IlluminateRoutingRouter를 인수합니다(인계 방법은 나중에 설명하겠습니다). get(), post(), match(), group()도 있습니다. ... 다른 라우팅 시스템 세트와 동일한 방법입니다.
laravel이 버전을 구별하는 경우 http://XXX.com/api/v1 또는 http://XXX.com/api/v2와 같은 v1 접두사를 가져와야 할 수도 있습니다. 그리고 dingo는 Accept 헤더를 통해 처리됩니다. 형식은 Accept: application/vnd.YOUR_SUBTYPE.v1+json입니다. 이는 액세스하려면 승인 요청 헤더를 보내야 함을 의미합니다.
구성 파일에서 이 모드는 기본적으로 필수가 아니며(API_STRICT=false), 구성 파일의 기본 버전인 'version' => env('API_VERSION', 'v1')에만 액세스할 수 있습니다.
true로 설정하면, 즉 strict 모드가 켜져 있으면 accept 헤더가 전송되어야 하며, 브라우저를 통해 API에 직접 접근할 수 없습니다.
.env 구성이 필요할 수 있는 옵션
API_STRICT=true //엄격 모드를 켜려면 v1 또는 v2에 관계없이 승인 헤더 정보를 가져와야 합니다
API_VERSION=v1 //없음일 때 기본 버전 번호 버전 번호가 선언되었습니다
엄격 모드가 켜진 경우
헤더의 accept 속성에 대한 여러 옵션이 있습니다:
Accept: application/vnd.YOUR_SUBTYPE.v1+json
API_STANDARDS_TREE=x,prs,vnd 표준 Tree Standards Tree
API_SUBTYPE=myapp sub 유형: 프로그램 또는 프로젝트의 짧은 이름
v1: 버전 번호
json: 반환된 형식(jsonp
.env일 수도 있음) 구성해야 할 수 있는 옵션
API_STANDARDS_TREE=prs
API_SUBTYPE=lara
API_DEFAULT_FORMAT= json //Default
[관련 권장 사항: laravel 비디오 튜토리얼]
위 내용은 Laravel의 딩고 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!