像这样的声音是一个愚蠢的问题,因为很容易用其他语言或框架配置路由。例如,春季的RequestMapping
,expressjs中的app.get('xxxx')
等。
我的意思是设计而不是配置。
假设我们的主域是example.org
。现在我们有了一个可以在外部提供api的应用程序,现在我们可以设计像api.example.org
或example.org/api
这样的公开路由了。
应用程序本身可以选择是否在内部配置诸如api
之类的前缀。以expressjs为例:app.get('/api/user').....
或app.get('/user')....
所以区别是我们应该让应用程序本身知道如何访问它吗?
此外,微服务目前被广泛使用,每个微服务都可以提供自己的api。我们可以使用服务注册和服务发现进行内部通信。
但是,如果我们只想从暴露给第三方的每个微服务中仅选择API的一部分,该怎么办?我们是否应该创建一个仅包含所需api的新应用程序?还是使用像nginx这样的反向代理来重写URL?
以下是我从搜索中获得的信息,但是不够清楚。
所以我想知道您如何特别针对应用程序内部的api路由映射和外部的api公开?
https://www.creativebloq.com/design/design-perfect-url-1126509
https://www.deepcrawl.com/blog/best-practice/guide-to-url-design/