restful-react基于OpenAPI的React声明式API交互库

restful-react 的声明式 API 交互方式,真的挺省心。直接用 React 组件和 hook 对接 RESTful 后端,少写一堆样板代码。配合 OpenAPI 规范,还能自动生成类型和组件,契约式开发就这么搞。

swagger 规范写好后,直接生成useQueryuseMutate这些 hook,用起来顺手。比如你有个GET /users的接口,配置完一键生成,前端写法超级清爽。

用起来蛮像封装好的axios + React Query,但又不太一样。restful-react 专注点更偏向契约生成和一致性,尤其适合你团队已经用OpenAPI规范管理接口的项目。

另外它支持直接从github地址拉取 OpenAPI 文件,也就是说你可以自动集成 CI/CD 流程,接口文档更新了,前端代码也同步更新——响应也快,出错也少。

唯一要注意的是生成的类型不够完美,建议生成后稍微看一眼,是响应结构比较复杂的时候。

如果你想省去手写 API Client 的时间,又追求前后端契约清晰、统一,restful-react 确实是个还不错的选择。

zip
restful-react-master.zip 预估大小:58个文件
folder
restful-react-master 文件夹
file
rollup.config.js 381B
file
github-release.hbs 539B
folder
docs 文件夹
file
contiamo-long-poll.md 5KB
file
long-poll-flow.png 45KB
file
package.json 3KB
folder
.github 文件夹
file
PULL_REQUEST_TEMPLATE.md 70B
folder
ISSUE_TEMPLATE 文件夹
file
bug_report.md 799B
file
feature_request.md 560B
folder
workflows 文件夹
file
tests.yaml 315B
file
npm-publish.yaml 2KB
file
.prettierrc 66B
folder
assets 文件夹
file
labs.gif 4.93MB
file
idp.gif 223KB
file
mutate.png 36KB
file
LICENSE 1KB
file
CONTRIBUTING.md 33B
folder
src 文件夹
folder
bin 文件夹
file
restful-react.ts 348B
file
restful-react-import.ts 8KB
file
config.ts 152B
file
Mutate.tsx 9KB
file
Poll.test.tsx 26KB
file
Get.test.tsx 43KB
file
Poll.tsx 10KB
file
Get.tsx 11KB
file
useGet.test.tsx 50KB
file
useGet.tsx 9KB
file
types.ts 298B
file
index.tsx 484B
file
Context.tsx 3KB
folder
util 文件夹
file
processResponse.ts 897B
file
useDeepCompareEffect.ts 1KB
file
composeUrl.ts 1KB
file
constructUrl.test.ts 4KB
file
resolveData.ts 876B
file
constructUrl.tsx 911B
file
composeUrl.test.ts 3KB
folder
scripts 文件夹
file
swagger2openapi.d.ts 272B
folder
tests 文件夹
folder
__snapshots__ 文件夹
file
import-open-api.test.ts.snap 18KB
file
import-open-api.test.ts 73KB
file
petstore-expanded.yaml 7KB
file
ibm-openapi-validator.d.ts 591B
file
import-open-api.ts 27KB
file
Mutate.test.tsx 32KB
file
useMutate.test.tsx 27KB
file
useAbort.ts 528B
file
useMutate.tsx 8KB
file
.eslintrc.js 194B
file
tsconfig.json 842B
file
publish-without-cli.js 1KB
folder
examples 文件夹
file
restful-react.config.js 2KB
file
fetchers.ts 2KB
file
petstore.yaml 3KB
file
.gitignore 1KB
file
CHANGELOG.md 40KB
file
CODE_OF_CONDUCT.md 3KB
file
README.md 29KB
file
yarn.lock 328KB
file
.gitkeep 14B
...
zip 文件大小:4.99MB