Swagger PHP 사용 안내서
홈 페이지:http://swagger.io/
매개 변수 문서:https://github.com/swagger-ap...
이 물건 을 어떻게 사용 합 니까?말하자면 Swagger 세트 를 설치 한 다음 에 API 코드 에 주석 을 쓰 고 Swagger 백 엔 드 프로그램 으로 API 를 뛰 어 다 니 며 주석 을 추출 하고 json 파일 을 만 든 다음 에 Swagger 전단 을 통 해 JSON 데 이 터 를 미화 하고 정리 하 는 것 입 니 다.
Swagger 를 사용 하려 면 두 개의 물건 을 설치 하고 앞부분 을 표시 해 야 합 니 다.백 엔 드, JSON 생 성
1, 설치 전단
swagger - ui 다운로드
1git clone https://github.com/swagger-ap...다운로드 후 dist 디 렉 터 리 를 찾 아 index. html 를 열 어 그 중의 url 을 자신의 것 으로 바 꿉 니 다. 예 를 들 어http://localhost/yii2/swagger...
$(function () {
var url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "http://localhost/yii2/swagger-docs/swagger.json";
}
또한 인터페이스 를 중국어 로 조정 하여 js 파일 의 주석 을 놓 으 면 됩 니 다.
123 < br / > < / script > -- > < br / > < script src =' lang / zh - cn. js' type = 'text / javascript' / > 그리고 URL 을 열 면 전단 화면 을 볼 수 있 습 니 다. 내용 이 없 을 것 입 니 다. swagger. json 이 생 성 되 지 않 았 기 때문에 생 성 된 URL 이 작 동 하 므 로 전단 에 직접 방문 하면 됩 니 다 < / p >
http://localhost/yii2/swagger...
< h2 > 2, 백 엔 드 설치 < / h2 >
1
git clone https://github.com/zircote/sw...< br / > 저 는 yii 2 를 사용 하기 때문에 coposer 를 사용 하여 설치 하 였 습 니 다 < / p >
< p > "require": {"zircote / swagger - php": "*"} < br / > 이후 coposer update 또는 직접 명령 행, 자세 한 내용 은https://github.com/zircote/sw...
< p > DCdeMacBook - Pro: yii 2 DC $phop composer. phar require zircote / swagger - phop < br / > 루트 디 렉 터 리 에 swagger - phop 을 두 고 공식 적 으로 제공 하 는 Examples 로 테스트 json < / p > 를 생 성 합 니 다.
< p > cd swagger - php < br / > mkdir doc < br / > php swagger. phar Examples - o doc < br / > "- o" 앞 에 API 소스 디 렉 터 리 를 대표 합 니 다. 즉, 어떤 디 렉 터 리 의 API 문 서 를 만 들 고 싶 은 지, 프로젝트 코드 디 렉 터 리 입 니 다. "- o" 뒤 에는 어느 path < / p > 를 생 성 합 니까?
< p > 저 는 swagger - php 아래 에 들 어가 지 않 았 습 니 다. 직접 명령 행 을 쳤 습 니 다. 임의의 경로 에서 json 생 성 작업 을 수행 할 수 있 습 니 다 < / p >
< p > php / Users / DC / www / yii 2 / vendor / zircote / swagger - php / bin / swagger / Users / DC / www / yii 2 / vendor / zircote / swagger - php / Examples - o / Users / DC / www / yii 2 / swagger - docs < br / > 그리고 다시 보기http://localhost/yii2/swagger... API 문서 생 성 < / p >
< p > 준비 작업 이 다 되 었 으 니 코드 주석 을 쓰 면 됩 니 다. 주석 은 어떻게 씁 니까? 공식 문 서 를 참고 하 세 요.http://zircote.com/swagger-ph...
< p > 예 를 들 어 Model 의 < / p >
/**
- @SWGModel(
- id="vps",
- required="['type', 'hostname']",
- @SWGProperty(name="hostname", type="string"),
- @SWGProperty(name="label", type="string"),
- @SWGProperty(name="type", type="string", enum="['vps', 'dedicated']")
- )
*/
class HostVps extends Host implements ResourceInterface
{
// ...
}
< p > 예 를 들 어 Controller 의 < / p >
/**
- @SWGResource(
- basePath="http://skyapi.dev",
- resourcePath="/vps",
- @SWGApi(
- path="/vps",
- @SWGOperation(
- method="GET",
- type="array",
- summary="Fetch vps lists",
- nickname="vps/index",
- @SWGParameter(
- name="expand",
- description="Models to expand",
- paramType="query",
- type="string",
- defaultValue="vps,os_template"
- )
- )
- )
- )
*/
class VpsController extends Controller
{
// ...
}
< p > 스 와 거 를 Laravel 에 통합 하 는 통합 도 보 았 습 니 다. Github 주 소 는 이것 입 니 다.https://github.com/slampenny/...하지만 이 건 git clone 방식 으로 할 수 없습니다. 설정 이 너무 번 거 롭 습 니 다. coposer 를 사용 하 세 요 < / p >
< p > composer require "jlapp / swaggervel: dev - master" < br / > 다음 JlappSwaggervelSwaggervelServiceProvider 는 app / config / app. php 의 providers 배열 맨 위 에 이 문장 을 복사 한 다음 < / p >
< p > php artisan vender: publish < br / > 이 단 계 는 관련 파일 을 swagger ui 를 포함 하여 laravel 프레임 워 크 Public 아래로 복사 합 니 다. OK, 다 되 었 습 니 다. 루트 디 렉 터 리 에 접근 해 보 세 요. 예 를 들 어 www. 1. com / api - docs 를 사용 해 보 세 요. 인터페이스 가 나타 나 면 성공 합 니 다! 명령 으로 laravel 의 길 을 보지 않 았 습 니 다. < / p >
< p > php artisan route: list < br / > 맨 위 에 있 는 두 가 지 는 방금 추 가 된 경로 입 니 다. 페이지 를 새로 고침 할 때 공백 이 발견 되 지 않 습 니까? json 을 만 들 려 면 @ SWG 의 설명 을 써 야 합 니 다. laravel 의 app 디 렉 터 리 아래 에 있 는 모든 파일 을 다 쓰 면 됩 니 다. 보통 model 과 contrller 만 쓰 면 됩 니 다. 이 플러그 인 은 이 디 렉 터 리 를 스 캔 하여 json 파일 을 생산 합 니 다. < / p >
=====================================
< p > API 코드 주석 을 바 꿀 때마다 json 파일 을 수 동 으로 생 성 합 니까? 너무 번 거 롭 습 니 다. controller 를 썼 습 니 다. swagger - ui 에 접근 할 때마다 이 controller 는 json 이 ui 페이지 로 이동 합 니 다. < / p >
$b2broot = Yii::getAlias('@b2broot');
$swagger = \Swagger\scan($b2broot.'/myapi');
$json_file = $b2broot.'/swagger-docs/swagger.json';
$is_write = file_put_contents($json_file, $swagger);
if ($is_write == true) {
$this->redirect('http://localhost/yii2/swagger...');
}
< p > 참조https://www.cnblogs.com/derrc...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
django rest framework : swagger다음 기사를 시도한 가정. rest framework로 만든 api 목록을 자동으로 생성합니다. swagger module 사용 아래 참조되었습니다. 활성화된 경로 목록이 표시됨 rest_project/setting...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.