restful规范

咱们先来谈谈什么是接口?

我们常说的一个接口其实就是一个URL。

在java和c#中,接口也是一种约束。

# 约束继承(实现)了他的类中必须含有IFoo中的方法
				interface IFoo:
					def func(self): pass


				class Foo(IFoo):
					def func(self):
						print(11111)

在python中不会有这种情况,咱们只做简单的了解。  

主要来看看restful规范有哪些?

restful规范

1、根据method不同,进行不同操作

2、面向资源编程

url结尾建议是名词。

3、体现版本

情况一:

情况二:

为了防止出现跨域情况,建议用情况一。

4、体现是API

5. https

为了安全,我们建议用https,但是要破费了。

6. 响应式设置状态码

 我们常用的状态码:

  • 200

    • 请求成功
  • 300

    • 301

      • 永久重定向
    • 302

      • 临时重定向
  • 400

    • 403

      • 权限问题
    • 404

      • 找不到页面
  • 500

    • 服务器问题

 这是浏览器为我们响应式提供的通用状态码,但并不是一成不变的。我们也可以自定义返回状态码。

return HttpResponse('abcdefg',status=300)

7. 条件

一般情况我们需要筛选才能得到我们想要的数据,那么就要在url中添加相应的条件。

8. 返回值

https://www.luffycity.com/api/v2/salary
			GET: 所有列表
			{
				code: 10000,
				data: [
					{'id':1,'title':'高亮'},
					{'id':1,'title':'龙泰'},
					{'id':1,'title':'小东北'},
				]
			}

			POST: 返回新增的数据
				{'id':1,'title':'高亮'}

			https://www.luffycity.com/api/v2/salary/1/
			GET: 获取单条数据
					{'id':1,'title':'高亮'}
			PUT:更新
					{'id':1,'title':'高亮'}
			PATCH: 局部更新
					{'id':1,'title':'高亮'}
			DELETE:删除

9. 返回错误信息

{
	code: 100001,
	error: 'xxx错误'
}

10、Hypermedia API

 

为了方便,我们会看情况在里面新添加一条url。

 

总结:

看完了restful规范,我们配置接口时,必须要按照规范来吗?也不一定,还是要看需求。这只是一种规范,只是建议大家按照规范来使用而已。

restful与Django无关,与rest-framework无关,它只是一种规范。

posted @ 2018-06-03 10:58  高~雅  阅读(1550)  评论(0编辑  收藏  举报