zoukankan      html  css  js  c++  java
  • 初撩RESTful

    1. 什么是RESTful?

    • 一种软件架构风格,设计风格,用于客户端和服务端交互类的架构。
    • 一组架构约束条件和原则

    2. 什么是RESTful架构?

    • 客户端通过http动词(get/post等)对服务器资源进行操作,实现‘表现层的状态转换’

    3. http动词(资源的具体类型):

    • GET(SELECT):从服务器取出资源
    • POST(CREATE or UPDATE): 在服务器创建资源或更新资源
    • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)
    • PATCH(UPDATE): 在服务器更新资源(客户端提供改变的属性)
    • DELETE(DELETE):从服务器删除资源
    • HEAD:获取资源的元数据
    • OPTIONS:获取信息,关于资源的那些属性是客户端可以改变的

    几个关键词:

    • 资源:网络上传递的具体信息(在RESTful中每个网址代表一种资源)
    • 表现层:资源的多用外在表现形式
    • 状态转换:数据和状态的变化(http协议是无状态的)

    信息(资源)过滤(若记录数据过多,服务器不可能将他们返回给用户,api提供参数,过滤返回结果):

    • ?limit=10
    • ?offset=10
    • ?page=2&per_page=20
    • ?sortby=name&order=desc
    • ?student_id=id

    4. 常见状态码:

    • 200 OK-[GET]:服务器成功返回用户请求的数据
    • 201 CREATED-[POST/PUT/PATCH]:用户新建或修改数据成功
    • 202 Accepted-[*]:表示一个请求已经进入后台排队(异步任务)
    • 204 NO CONTENT - [DELETE]:表示数据删除成功
    • 400 INVALID REQUEST-[POST/PUT/PATCH]:用户发出的请求有错误
    • 401 Unauthorized-[*]:表示用户没有权限(令牌,用户名,密码错误)
    • 403 Forbidden-[*]:表示用户得到授权,但是访问时被禁止的
    • 404 NOT FOUND-[*]:用户发出的请求针对的事不存在的记录
    • 406 Not Acceptable -[*]:用户请求格式不可得
    • 410 Gone-[GET]:用户请求的资源被永久移除,且不会再得到
    • 422 Unprocesable entity-[POST/PUT/PATCH]:当创建一个对象时,发生一个验证错误
    • 500 INTERNAL SERVER EROR -[*]: 服务器内部发生错误

    可能直接看上面这些会非常懵逼,所以俺找了一个比较详细的:

      https://www.runoob.com/w3cnote/restful-architecture.html

      https://baike.baidu.com/item/RESTful/4406165?fr=aladdin

    但是我还是想用我薄弱的知识面总结一下(至于正确和错误,请多指点  ₍ᐢ •⌄• ᐢ₎):

      RESTful框架呢,其实就是我们的一种开发风格,大家开发都遵循这个原则,直白的说就是web技术的前后端分离,当然我们使用这个框架这个框架肯定有它的强大之处(当然只是在我了解了一定的python Django框架中的rest_framework基础得出的丢丢结论)。

      RESTful框架既然前后端是分离的就必须涉及到接口,通过接口才能把两个部分对接起来,而我们http又是目前我们前后端联系的唯一实例,所以我们RESTful通过http状态来传递前后端的数据,这里又涉及到数据的传输,目前呢我们RESTful框架就是通过json来进行数据的传输。

      关键词:接口; http动词; json格式数据传输;

  • 相关阅读:
    BPM
    rust
    sql
    relational model
    C语言丨还没搞懂逻辑运算符?一篇文章教你区分“真假”!
    掉发不是病,秃起来真要命!作为程序猿的你,脱发了吗?
    什么是正确的编程观?从正确认识C语言开始!
    春运火车票如何安心购票?用C语言实现火车售票系统(源码分享)
    趣味编程丨如何用C语言输出杨辉三角?只需三步!
    2020年编程语言排行榜年终大盘点:C语言连续八个月蝉联第一,C++稳居第四
  • 原文地址:https://www.cnblogs.com/Vera-y/p/12072457.html
Copyright © 2011-2022 走看看