如何使REST API私有化?

时间:2015-05-06 21:57:33

标签: api rest

像facebook API的googlemaps API这样的API是公开的,任何人都可以使用。所以我的问题是如何将REST API设为私有,这样只有选择一个消费者才能使用它。例如,您只为您的pwn AngularJS应用程序制作Rest API。这样做是否常见,现实世界的方法是什么?那个问题是REST API和REST Web服务之间有什么区别吗?

2 个答案:

答案 0 :(得分:3)

如果我要编写一个私有的RESTful API,我可能不会费心去做RESTful。

通过将REST API设为私有,您将失去这种架构风格的主要优势之一。实现这样的API很困难,但作为回报,您可以轻松获得可扩展性,并且API的消费者能够编写因未来更改而不可能破坏的客户端(只要您遵循HATEOAS和使用明确定义的格式。)

如果您可以选择控制服务及其所有客户端,那么放弃RESTful架构所施加的一些限制可能实际上是一个好主意。

只要您坚持使用协议语义,您就可以使用通过HTTP提供JSON的简单API。

换句话说,您可以实现满足2级API要求的服务,如Richardson Maturity Model

所述

因为您不会充分利用Level 3 API提供的优势,更不用说实际的RESTful API了,实现它可能只是证明了不必要的努力。

我在my answer to a programmers.stackexchange question中对这些设计注意事项进行了更全面的描述。你也可以在那里找到一些有用的参考资料。

答案 1 :(得分:0)

您可以通过要求某些授权/身份验证来使API私有(例如,简单的API密钥)。

  

REST API与REST Web服务?

好吧,就这么说吧。 REST Web服务具有 REST API。 Web服务是一组按目的联合的API。