django 编写接口的问题
最近做一个django的项目,和其他项目做对接,接口化。
有些事情不明,
1、用django,写url,views这种方式写接口,行吗。
2、django中有rest_framework 这种rest接口的形式,我粗略看了下,不太明白serializers这个什么作用
3、django原声写url,views的方式去写接口,和用rest_framework有什么区别。
为什么要用rest呢。
小白,sorry,望大神回答疑惑。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
行。因为所谓接口也是普通的URL。
见官网的解释:
在后台,我们使用 ORM 处理数据。为了方便业务逻辑的表达,此时的数据是以 Python 对象的形式存在。但在前后端交流的过程中,原生对象是不允许被传输的,所有的数据都需要转化为纯字符格式,如 XML、JSON。这里就涉及到一个 Python 对象 与 字符流 相互转化的问题。而 Serializers 就是沟通它们的桥梁。
没有区别。但 rest-framework 为你封装好了一大堆功能,开箱即用,能使你的代码显得更加简洁。这一点在接口数目特别多的时候尤为明显。
参考 http://stackoverflow.com/questions/53200...
此外,向 DRF 的作者致敬。尽管他已经不再跟进这个项目了(http://www.django-rest-framework.org/top...),但我们永远都无法忘记他和他的团队给开发者带来的便利。
我们的做法是写一个api的装饰器,然后用来注解View上的方法,方法返回dict或者直接抛出异常。这样可以把权限控制也放到装饰器上面去,最后实际的API就只需要这样写:
代码里面的BaseApiView和api都是你需要去实现的,这里只是简单的伪代码。