>  기사  >  PHP 프레임워크  >  Laravel의 딩고 란 무엇입니까?

Laravel의 딩고 란 무엇입니까?

WBOY
WBOY원래의
2022-02-23 16:39:392732검색

laravel에서 dingo는 laravel 및 lumen 프레임워크용 API 개발 툴킷입니다. 주로 라우팅 버전 관리, "Http 예외" 예외 처리 및 "응답 변환" 변환 응답 형식의 세 가지 기능을 가지고 있습니다.

Laravel의 딩고 란 무엇입니까?

이 기사의 운영 환경: Windows 10 시스템, Laravel 버전 6, Dell G3 컴퓨터.

laravel에서 dingo는 무엇인가요?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.