json-server环境下访问JSON对象configurations子数组的请求URL配置咨询
解决方案
json-server默认不支持直接通过嵌套路径访问子资源,你可以通过以下两种方式实现需求:
方案1:使用PATCH请求局部更新(无需额外配置,推荐)
不需要调整json-server启动参数,直接对partner单条资源路径发PATCH请求,仅传递需要修改的configurations字段即可:
- 请求地址:
http://localhost:3000/partners/partner1 - 请求方法:
PATCH - 请求体示例:
{ "configurations": [ // 替换为你修改后的完整configurations对象列表 ] }
json-server会自动保留partner对象的其他字段,仅更新你传入的configurations值,效果和单独更新子数组完全一致。
方案2:配置路由支持嵌套资源路径访问
如果需要直接通过/partners/{id}/configurations路径操作子数组,可以手动配置路由规则:
- 新建
routes.json文件,写入以下规则:
{ "/partners/:partnerId/configurations": "/partners/:partnerId/configurations" }
- 启动json-server时追加路由参数:
json-server --watch db.json --routes routes.json
- 配置完成后即可直接对嵌套路径发请求:
- 发GET请求到
http://localhost:3000/partners/partner1/configurations可直接获取该partner的配置列表 - 发PUT请求到上述地址,请求体直接传修改后的配置数组,即可完成子数组的全量更新
- 发GET请求到
内容的提问来源于stack exchange,提问作者ElPsyCongoro
相关产品推荐
相关产品推荐

