登录  /  注册

用laravel dingo/api创建简单的api

不言
发布: 2018-07-09 09:53:46
原创
2106人浏览过

这篇文章主要介绍了关于用laravel dingo/api创建简单的api,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

1,修改.env配置文件添加

API_STANDARDS_TREE=vnd 
API_SUBTYPE=myapp
API_PREFIX=api
API_DOMAIN=null
API_VERSION=v1
API_NAME="My API"
API_CONDITIONAL_REQUEST=false
API_STRICT=false
API_DEBUG=true
登录后复制

Standards Tree 标准树

这有三个不同的树: x,prs 和 vnd。你使用的标准树需要取决于你开发的项目

未注册的树(x)主要表示本地和私有环境

私有树(prs)主要表示没有商业发布的项目

供应商树(vnd)主要表示公开发布的项目 

子类型SUBTYPE

子类型通常是应用程序或项目的短名称,都是小写的。

前缀PREFIX (比如www.z5w.net/api/)

如果你曾经使用过 API 你就会知道大多数服务都来自子域或前缀。前缀或子域是必须的,但只需要一个。请避免使用版本号作为你的前缀或子域,因为版本控制是通过 header 头 Accept 处理的。

子域名API_DOMAIN

比如可以用api.z5w.net来做api的调用地址。如果已经设置了前缀prefix,则domain一般设为null

版本号version

这个版本号是你的 API 的默认版本号,并且会在一些未提供版本号的情况下作为回调的默认值使用。在生成 API 文档时也会使用这个版本号作为默认值。

名称Name

你的 API 的名称只会在你使用 API Blueprint 命令生成文档的时候使用。使用此名称可以避免你每次生成文档的时候都必须手动定义名称。
你可能需要把它用引号包起来。

条件请求CONDITIONAL_REQUEST

『条件请求』默认为开启状态,这有利于客户端的缓存机制在可能的情况下缓存 API 请求。

严格模式STRICT

严格模式要求客户端发送 Accept 头,代替配置文件中配置的默认版本。这意味着你将不能通过浏览器直接访问你的 API。

如果开启严格模式,发送非法的 Acceept 标头会抛出一个未处理的异常 Symfony\Component\HttpKernel\Exception\BadRequestHttpException ,你需要自己处理这个异常。

调试模式Debug

该包处理的通用错误包括一个 debug 键,当启用这个键时,将会填充堆栈跟踪详细信息。

2,在/routes/web.php添加路由

$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
    $api->get('helloworld', 'App\Api\Controllers\HelloController@index');
});
登录后复制

  3,创建文件/app/Api/Controllers/HelloController.php

<?php

namespace App\Api\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class HelloController extends Controller
{
    public function index()
    {
        return &#39;{content:Helloworld!}&#39;;
    }
}
登录后复制

  4,测试路由: $ php artisan api:routes,如果出现

+-----+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+
| Host | Method   | URI             | Name | Action                                    | Protected | Version(s) | Scope(s) | Rate Limit |
+------+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+
|      | GET|HEAD | /api/helloworld |      | App\Api\Controllers\HelloController@index | No        | v1         |          |            |
+------+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+
登录后复制

  表示成功

  然后访问http://www.*.com/api/helloworld,看看是不是出现了api的json数据呢?

{content:Helloworld!}
登录后复制

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网! 

 相关推荐:

laravel dingo/api添加jwt-auth认证

以上就是用laravel dingo/api创建简单的api的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号