关于restful 同一资源 不同操作的问题,页面显示的问题。
新手在设计符合restful风格的应用上有一个疑问。
同一URI表示相同的资源,通过GET PUT DELETE POST 进行CRUD,
但CRUD所对应界面不一样,如何用同一URI表示?
比如:/users 表示列示所有用户信息资源,此界面仅显示了一些用户相关信息。
问题一POST /users 表示什么?
问题二当我要新增用户时,对应的URI应该是什么?
再比如: /users/123 表示用户123的资源,当get /users/123 会返回客户端123的资源(只读),此时我想更新(对123可更改) 在/users/123 上如何显示这两种内容?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
显示注册界面,一般不会通过POST获取的。REST api主要用于提供功能的接口。纯粹呈现界面最好通过静态资源直接映射过去,或者用无关CRUD的另一套接口
引用来自“Sel8616”的评论
话说回来,RESTful毕竟只是一种风格,不用纠结太多。
而且,如果它让你感觉晕头转向,那你干脆不要用它,反正也没有多大好处。
毕竟HTTP协议本身是为网页设计的,并没有专门为动态请求做过系统的支持。是因为WebService这种古老笨重的东西不好用,而HTTP简单方便,所以我们“借用”HTTP协议来实现网络应用服务的通信。而HTTP协议那么多内容,其实真正有意义的就2个:URL——找到目标,参数——就是参数。
我认为,Web后台的设计,还是要面向服务来进行。一个URL对应一个具体的业务入口(接口),这个接口本身就涵盖了操作的资源和对资源的操作,如/user/list查询所有,/user/create注册,/user/del删除......。如些一来,我们完全可以忽略HttpMethod,或者统一为POST(这样更严谨、更安全一些)。至少可以让前端、后台开发者都不用在Method上面浪费时间。
引用来自“彩云小斯”的评论
在问出这个问题的时候我想到一点,是否应该这样的理解:
比如 /users 资源 ,如果需要新增,可以新建一个URL,如/users/creat. 这里完成新建的工作,form写成<form acount="/users" method="post">
我的这个理解对吗?请大神赐教。
在问出这个问题的时候我想到一点,是否应该这样的理解:
比如 /users 资源 ,如果需要新增,可以新建一个URL,如/users/creat. 这里完成新建的工作,form写成<form acount="/users" method="post">
我的这个理解对吗?请大神赐教。
话说回来,RESTful毕竟只是一种风格,不用纠结太多。
而且,如果它让你感觉晕头转向,那你干脆不要用它,反正也没有多大好处。
毕竟HTTP协议本身是为网页设计的,并没有专门为动态请求做过系统的支持。是因为WebService这种古老笨重的东西不好用,而HTTP简单方便,所以我们“借用”HTTP协议来实现网络应用服务的通信。而HTTP协议那么多内容,其实真正有意义的就2个:URL——找到目标,参数——就是参数。
我认为,Web后台的设计,还是要面向服务来进行。一个URL对应一个具体的业务入口(接口),这个接口本身就涵盖了操作的资源和对资源的操作,如/user/list查询所有,/user/create注册,/user/del删除......。如些一来,我们完全可以忽略HttpMethod,或者统一为POST(这样更严谨、更安全一些)。至少可以让前端、后台开发者都不用在Method上面浪费时间。