设计Restful API的过程

时间:2019-05-03 18:52:49

标签: rest api

我正在与一组开发人员合作,他们负责构建基于Web的应用程序。该Web应用程序的作用是相对的。我们希望完全保留该代码以及这些开发人员在黑匣子中所做的事情。在其他地方使用该数据;例如在移动应用中,我希望能够通过api调用访问该数据。所有数据交换都应以这种方式完成。

我不会问实现这一目标的最佳方法是什么,而是想知道构建Restful API的过程和需要什么。作为一个非常简单的示例,让我们在移动应用程序上使用登录页面。用户登录,然后在后端对黑箱进行调用,以验证凭据等,并返回结果,允许用户登录或不登录。

我需要什么?因为我正在构建一个Android应用程序,所以必须在Java中构建此api吗?我可以使用其他工具吗?例如python或nodejs为例?考虑到我以前从未编写过api,要正确执行此操作我需要什么?要编写此api,我需要黑盒开发人员提出什么要求?我想构建此api,以便它可以与android或ios上的应用一起使用。

我不确定从哪里开始,并希望获得一些指导。

在此先感谢您的帮助和建议。

谢谢。

我发现我可以在Java,C#,nodejs,python等中构建静态的api。我不知道,选择哪种无关紧要?一个比另一个更可取。因为我们用Java编写Web应用程序,所以我们应该坚持只选择Java来编写api吗?

1 个答案:

答案 0 :(得分:1)

如果这是您的第一个api,建议您选择一本好书或阅读在线课程/教程(here是其中一个)

现在回到您的问题:

  • 可以通过给定正确参数的任何代码段调用api,并且遵循正确格式可以返回数据。因此,api和调用程序的编码语言无关紧要。因此,假设您构建了一个REST Api,您可以使用Java构建该API,而使用javascript构建客户端,只要它们都遵循适当的Rest api格式,并提供正确的参数。但是在实践中,如果您拥有相同的团队建设团队,那么您可能希望使用相同的语言来建立两者以实现可维护性

  • 为了与第三方团队(如您的黑匣子开发人员)合作,您需要从业务角度就API的目的达成共识。另外,客户端可以向API提供的信息类型,以便它可以完成其工作。最后,您需要就API将返回的信息类型及其格式达成共识

  • 确定所有内容后,您需要确定将要使用的API的类型。您可以使用诸如GraphQL,Rest,Soap等之类的东西

  • 请注意,随着开发的进行,需要对API的两面都进行接触和完善。

最重要的是,这种语言本身并不像十年前那样重要。只需选择适合团队使用并支持您要使用的接口类型(Rest,GraphQL等)的现代工具

话虽如此,我还是再次建议您选择一本好书,一堂课或Google API教程。您无法建立不了解的内容。