当前位置: 首页 > article >正文

REst full API

1,API   application Programming Interface   预先定义的函数,软件系统的不同组成部分的衔接约定,目的是无序访问源码或者理解内部工作机制的细节也可以对一些软件的访问能力

     分类1   将需要的程序打包到自己的程序中,如java jar  这种api称为SDK

     分类2  你的程序需要别的程序的一部分功能,只需要你需要的那种程序提供一定的路径,你的程序按照一定的约定去访问,比如http协议请求访问。这种api称为web 应用接口

2, Restful api 接口设计

存在原因

                不同的开发对api接口的设计习惯不同,会出现不同的设计结构。

             为解决这个问题,比如mvc中的路径的设计

REstful风格

          接口设计的时候必须要遵循的风格和规范

传统的api设计考虑的问题

               1,请求路径  见名知意

                2,请求方式   

              3,参数   需求决定

             4, 响应     模板路径,异步的时候不是路径,根据需求决定

Rest api  设计考虑的问题

   1,请求路径

                以当前接口操作的资源决定,一般为复数形式,作为路径

                一个路径对应一个资源

   2,请求方式   根据接口对资源做什么操作

     get   查询

    post   新建一个资源

    put   更新一个资源

     delete  删除一个资源

  head   获取资源的元数据,比如资源的hash,最后的修改日期

options   获取客户端对资源的操作,即获得该资源的api---能够对资源做什么的描述

传统的路径  =  Restful路径 + 请求方式

    3, 请求参数

     需求决定,

    4,响应  restful的要求,一般为规定格式为json

           

             实际开发,以公司规定为主

   其他相关

        

Accept               设定位置 head       

Content-Type     设定位置   body

Restful只是一种设计风格,提供了设计原则和条件,他不是标准,具体操作结合公司要求决定。

常见的Restful框架

            springmvc ,jersey,play

api测试工具

      postman   insomnia

接口设计

浏览器中的请求都是get模式

http methon  :get post

host port     http://localhost:8080

path:            /employees

删除

              restful 默认为一个空文档

   实际

                删除的状态

返回的操作一般公司需要统一格式,写一个类控制

参数路径优缺点

优点,隐藏参数

缺点,参数多,url长

现实开发,两者混用,重要的参数放到参数路径,不重要的可以参数方式穿过去

页面调用api方法

     springmvc不支持put操作,需要配置过滤器


http://www.kler.cn/a/381365.html

相关文章:

  • 零基础Java第十三期:继承与多态(一)
  • yolov8涨点系列之引入CBAM注意力机制
  • Python 继承、多态、封装、抽象
  • CesiumJS 案例 P19:添加矩形、监听鼠标左击、监听鼠标右击、监听鼠标移动
  • 为啥学习数据结构和算法
  • 基于SpringBoot+微信小程序+协同过滤算法+二维码订单位置跟踪的农产品销售平台-新
  • 如何在 CentOS 7.9 上安装 Docker
  • cesium实现测面功能
  • Redis完全指南:从基础功能到缓存管理与高可用性设计
  • 【Vue 全家桶】2、Vue 组件化编程
  • linux重启PHP
  • vue2开发 对接后端(go语言)常抛异常情况以及处理方法汇总
  • Oracle视频基础1.3.4练习
  • Hadoop期末复习(完整版)
  • dns欺骗
  • Android 面试题汇总
  • Python 线程学习知识大全
  • 如何在 Spring Boot 中实现多数据源的事务管理?
  • 【分布式】分布式锁设计与Redisson源码解析
  • 跨模态对齐与跨领域学习
  • SpringSecurity的使用
  • 操作系统-文件IO
  • Python笔记之线程库threading
  • 【WebApi】C# webapi 后端接收部分属性
  • 如何安装QT(linux/windows)
  • 【矩阵的大小和方向的分解】