我正在开发一个使用MERN堆栈的食谱分享网络应用程序,我正计划使用这种URL来显示食谱信息

../recipe/:recipeName/:id

我想知道在URL中使用Mongodb自动生成的ID是否是一个不好的做法,或者我是否应该生成一个单独的公共ID.该项目是为我的投资组合,我宁愿避免各种不好的做法,以免吓跑招聘人员.

先谢谢你了!

推荐答案

您在示例中描述的内容称为RESTful service URLs,完全适用于设计API或Web App.

小心你的URL Depth,因为最好的做法是将其限制在resource/identifier/resource,任何更深的建议审查你的设计.

使用MongoDB自动生成的ObjectId是在数据库中唯一标识您的资源的一个极好的候选标识符,这样您就可以在URL中使用它们.只是不要expose URL中的任何敏感信息,并确保您拥有身份验证和授权来保护您的路由,特别是那些会改变数据的路由.

Reactjs相关问答推荐

Reaction路由的问题-在Effect使用API调用响应设置状态之前呈现页面

在Reaction+Redux+RTKQuery中对API调用进行排序

无法从正在使用Reaction的Electron 商务store 项目中的购物车中删除项目

Material-UI 和 React Hook 表单不记录值

React Native - 如何处理错误带有有效负载的NAVIGATE操作..未被任何导航器处理?

修改React数据表扩展组件

ReactJS on AWS Amplify与EC2上的Spring boot服务之间的混合内容错误

部署到github pages时请求路径错误

臭名昭著的测试未包含在 act(...) 中

将 clerk 与 supabase 集成的最佳实践

使用 react-markdown 组件时 Tailwind CSS 的问题

Cypress 组件测试不渲染react 组件(但它的内容)

为什么此代码中的 useState 不更新(文本更新但 id 不更新)?

为什么我在此代码段中看不到 useEffect for count = 1?

react-admin useGetIdentity 只返回全名,id 未定义 头像未定义

如何使用 babel 将 SVG 转换为 React 组件?

react 路由dom没有路由匹配位置错误/在路由中制作组件

设置 Material UI 表格默认排序

您无权使用阻止 webRequest 侦听器.请务必在 list 中声明 webRequestBlocking 权限

如果两个组件在 React 中导入相同的 CSS 文件会发生什么?