使用单例模式

只使用全局一个实例。不管是调用 RESTful 风格还是 GraphQL 的 API 接口,在整个应用层面,我们都应该只使用一个客户端实例。也就是说,只使用一个配置好的 API 客户端(axiosopen in new window/graphql-requestopen in new window/apollo-clientopen in new window)实例。

这里有一个 API 客户端配置样例open in new window

独立定义接口调用

我们应该将对 API 接口的调用和类型声明从业务代码中抽取出来,放到独立的文件或模块中。

如果调用的 API 是一个 RESTful 风格的,那么抽取出来的定义应该是一个调用函数,这个函数里调用具体的 API。如果调用的 API 是一个 GraphQL API,那么抽取出来的定义应该是包含了 Query 或者 Mutation的描述,从而可以被 react-queryopen in new windowapollo-clientopen in new windowurqlopen in new window 之类的库使用。

这么做的好处是可以方便的追踪到应用中调用哪些 API。同时我们还可以给这些接口调用定义入参和出参的类型,来更好的辅助开发。

这里是一个 API 接口调用的样例open in new window

关注微信公众号,获取最新推送~