使用单例模式
只使用全局一个实例。不管是调用 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-query
open in new window、apollo-client
open in new window、urql
open in new window 之类的库使用。
这么做的好处是可以方便的追踪到应用中调用哪些 API。同时我们还可以给这些接口调用定义入参和出参的类型,来更好的辅助开发。
这里是一个 API 接口调用的样例open in new window
关注微信公众号,获取最新推送~
加微信,深入交流~