首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Laravel的API版本控制和认证

使用Laravel的API版本控制和认证
EN

Stack Overflow用户
提问于 2019-12-13 10:57:50
回答 1查看 754关注 0票数 3

我正在用Laravel框架构建一项服务。我将生成一个API,供AndroidiOS应用程序使用。同时,我将进行内部API调用来更新我的HTML/Blade视图(或者在将来某个时候更新我的SPA前端)。所有三个客户端(webAndroidiOS)都将由我们的团队开发,因此交流将非常容易!

我搜索了很多,当涉及到API版本控制(Best practices for API versioning?https://apisyouwonthate.com/blog/api-versioning-has-no-right-way)时,似乎有不同的方法。区别于其他问题的是如何以及由谁访问该API。我的API将被我们自己的应用程序(无论是web还是移动)简单地使用。对API的调用将由我们自己的应用程序生成。任何第三方应用程序都不会访问此API.

我对此有几个问题:

在这种情况下,

  1. 是用于API版本控制的正确方法吗?将使用API的开发人员将在同一个办公室,因此每次我们有一个主要的API更改时,都会有一个应用程序更新。

)

代码语言:javascript
运行
复制
- **Resource Versioning (MIME Based)** 
    - Accept: application/vnd.example.v1+json

  1. 使用子域作为API版本控制有好处吗?在财务上,如果我们使用SSL,那么我们还需要购买通配符SSL来适应子域,所以--在我看来--更糟糕。
  2. 在决定了我们将遵循哪条路径进行API版本控制之后,需要选择如何将用户身份验证到我们的API。使用Laravel,您可以使用令牌、JWT、 Passport 等对API进行身份验证。我确信我的服务不会被其他服务用于身份验证,但这是否从我的选择中删除了Passport?考虑到这一点,实现护照是否过分了?

提前谢谢你!

EN

Stack Overflow用户

发布于 2020-07-06 10:28:07

之所以需要Url版本,是因为google play不允许强制更新,因此会有不同版本的android客户端在同一时间工作。我创建了一个简单的包来帮助URL版本控制和回退。https://github.com/mbpcoder/laravel-api-versioning

对于资源版本控制,Laravel有一个资源对象来生成响应--为每个API版本创建一个文件夹是很好的。

如果对API的更改更深--例如,您需要对数据库结构进行更改--那么我通常会使用旧API更新它们的控制器、模型.以适应新的结构。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59321156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档