I'l*_*ack 3 php laravel dingo-api laravel-5.2
我刚刚安装了Dingo,它似乎可以使用以下URL:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->get('test', function () {
return 'Test';
});
$api->get('hello', function () {
return 'Hello';
});
});
Run Code Online (Sandbox Code Playgroud)
我希望版本1包含在URL中,如何使它工作?当我尝试:
http://website.dev/api/v1/test
我得到错误:
{
"message": "404 Not Found",
"status_code": 404
}
Run Code Online (Sandbox Code Playgroud)
在.env文件中,我有:API_PREFIX=api
根据Dingo配置:
避免将版本号作为前缀或子域,因为版本控制是通过Accept标头处理的。
dingoAPI的版本无法通过这种方式工作。由于它们未对URI中的API进行版本控制,因此您需要定义一个Accept标头以请求特定版本。标头的格式如下:
Accept: application/vnd.YOUR_SUBTYPE.v1+json
Run Code Online (Sandbox Code Playgroud)
要访问该版本,您将需要HTTP客户端(如邮递员)