使用REST JSON XML和JAX-RS构建微服务,大数据(一)

2023-11-01

RESTful API 的基本原理

众所周知,数据库,网站以及业务应用之间都要进行数据交换。这就出现标准的数据格式,传输协议或Web服务,常见的数据格式XML,JSON;常见的传输协议:SAOP,REST等;开发人员通常都需要为一个应用写API接口,使应用集成业务逻辑运行在服务器上,只要客户端和服务器符合web的统一接口,它们就可以使用任何语言或技术独立实现部署;

  • REST(Representation State Transfer (表述性状态传递))是一种软件架构风格,或者说是一种规范,其强调HTTP应当以资源为中心,并且规范了URI的风格;规范了HTTP请求动作(GET/PUT/POST/DELETE/HEAD/OPTIONS)的使用,具有对应的语义。
    关于RESTful风格:

    作者:Ferrari1001 链接:https://www.jianshu.com/p/6e8381c9b01d 来源:简书

  1. 使用实例:社交媒体服务,网络聊天等,客户端和服务器在web环境运行,对象信息不需要传递到客户端,需要在客户端和服务器之间执行严格协议时,执行涉及多个调用事务时,REST不适用;
  2. 实现REST风格框架,我们需要首先确定返回的JSON响应结构是统一的,也就是说,每个REST请求将返回相同结构的JSON响应结构
 {
        "meta": {
            "success": true,
            "message": "ok"
        },
        "data": ...
    }

SOAP (Simple Object Access Protocol(简单对象访问协议))

  1. SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。或者更简单地说:SOAP 是用于访问网络服务的协议。
  2. 一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:
    必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
    可选的 Header 元素,包含头部信息
    必需的 Body 元素,包含所有的调用和响应信息
    可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
  3. 使用实例:金融服务,支付网关等,客户端需要访问服务器上可用的对象,需要花费大量带宽来传递元数据;安全性和授权也属于SOAP协议的一部分;
  4. SOAP 消息的基本结构:
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
  <soap:Fault>
  ...
  </soap:Fault>
</soap:Body>
</soap:Envelope>

RESTful API-安全性

大多数情况下,我们开发都是现在RESTful API,所以安全性是要重视的问题;
OAuth协议如何确保RESTful API的安全性?
API安全性与缓存机制OAuth2-使用REST JSON XML和JAX-RS构建微服务,大数据(二)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用REST JSON XML和JAX-RS构建微服务,大数据(一) 的相关文章

随机推荐

  • 正交

    正交的概念类似几何中垂直的概念 连个向量点乘的结果等于0我们称这两个向量正交 我们可以用向量正交的概念来看勾股定理 假设a b是两个向量 那么 a 的平方加上 b 的平方等于 a b 的平方当切仅当向量a b正交的时候才成立 如果一个sub
  • Input值不可修改

    Input值不可修改 要固定input标签里面的值不能被修改 我这里有两种方法 1 为input标签设置只读模式 设置只读模式之后 整个文本框就都会被封住 input标签里面的值就不能被手动删除和修改 不能再添加新的内容 有两种方式设置只读
  • UnityEditor中建立两个Color,实现mesh的颜色渐变(Gradient)(GUI.changed,SceneView.RepaintAll())

    shader只是测试用 不用在意 Shader Custom Vertex Properties SubShader Lighting Off Pass CGPROGRAM pragma vertex vert pragma fragmen
  • ElementUI框架引入和使用

    安装使用有两种方式 npm cnpm安装到项目中 CDN引入 先介绍CDN引入 CDN全称 Content Delivery Network即内容分发网络 CDN是构建在网络之上的内容分发网络 依靠部署在各地的边缘服务器 通过中心平台的负载
  • Django默认用户登录make_password函数原生代码实现

    from hashlib import pbkdf2 hmac from random import choice from base64 import b64encode 随机数所使用的字符串 serct str abcdefghijkl
  • 2016.09.21----------嵌入式,离散数据,线性数据

    离散数据和连续数据是相对的 区别在于作用域 连续数据的作用域是连续的 例如1 9 离散数据的作用域是不连续的 例如1 3 5 7 线性数据和非线性数据的区别是 线性数据中的每一个元素都有确定的 前驱 和 后继 头和尾除外 是一条线下来的 没
  • scanf处理带有空格的输入方法

    scanf函数处理输入的时候遇到空格会结束 利用scanf n str 可以读取一行字符串 直到遇到换行符 n结束 经过此方法读取字符串以后 会有一个换行符号 n存在输入缓冲区中 因此需要用scanf c 清 理输入缓冲区中第一个字符 也就
  • Redux的基本使用方法(计数器)

    Redux就像Vuex一样哈哈 可以让组件之间的数据传递变得方便 传统的数据传递非常的麻烦 如果最上层组件要将数据传递给最下层的组件需要逐级传递 组件的耦合度会变得非常的高 要是其中一个组件出现问题的话会导致整个项目出现问题 而Redux是
  • window下搭建zookeeper

    下载zookeeper的压缩包 官网连接 Apache ZooKeeper 我自己用的 apache zookeeper zip 互联网文档类资源 CSDN下载 下载后解压 进到bin目录启动zkServer cmd 参考链接 Zookee
  • Simon IELTS: Speaking

    文章目录 Speaking Lesson 1 General Advice Overall Tips Aims of the course Speaking Lesson 2 Part 1 Introduction to Part 1 Ti
  • [疯狂Java]泛型:泛型的底层原理(类型擦除、原生类型、编译前检查)

    1
  • Vue父子组件通信之父组件主动获取子组件的数据和方法(二)

    父组件主动获取子组件的数据和方法 操作步骤 1 调用子组件的时候定义一个ref
  • ReID行人重识别(训练+检测,附代码),可做图像检索,陌生人检索等项目

    利用ReID和目标检测对视频进行检测 可以对视频中的人进行重识别 支持更换数据集可以做车辆重识别等 可应用于图像 视频检索 行人跟踪等 在以前学习ReID的时候 是跟着下面视频学习的 该论文和代码也可以参考GitHub michuanhao
  • webpack中的loader的配置

    安装babel npm install save dev babel loader babel core 此处如果要用lastest 需要 npm install save dev babel preset latest 配置babel如下
  • Qt--动态链接库的创建和使用

    写在前面 在Qt的实际开发中 免不了使用和创建动态链接库 因此熟悉Qt中动态链接库的创建和使用对后续的库开发或使用是非常用必要的 在之前的文章https blog csdn net SNAKEpc12138 article details
  • Mask Rcnn目标分割-训练数据集-balloon/coco

    本文介绍了Mask Rcnn目标分割算法如何训练自己数据集 对训练所需的文件以及训练代码进行详细的说明 官方提供了coco数据集和balloon数据集两种 可以基于以上数据集进行训练 也可以基于自己采集的数据集进行训练 下面将对两种不同方式
  • VC编程实现IE7 IE8 IE9自动完成口令获取

    都是网上的代码 自己组合起来的 刚开始报很多错误 花了很多时间终于搞定了 环境 VC6 0 SDK SDK必须 简单说明 IE将网站的URL保存于历史文件中 将自动完成的密码保存于注册表中的以下位置 HKEY CURRENT USER So
  • Java基础之 Math UUID Random 随机数

    学习 Demo Math类 random方法获取随机数 UUID类 randomUUID方法生成UUID Random类 实例化一个Random对象创建一个随机数生成器 码上行动 代码如下 示例 import java util Rando
  • Rich Bowen: 无论你在创造什么,最终交付的是信任。

    早在开源被我们称之为开源 Rich Bowen 就已经参与其中 作为 Apache 软件基金会的成员 Rich 目前担任董事会成员 会议副总裁 此外 他还是亚马逊云科技的开源策略师 这些多重角色赋予了他对开源的更广泛和深刻的理解 在他于 2
  • 使用REST JSON XML和JAX-RS构建微服务,大数据(一)

    RESTful API 的基本原理 众所周知 数据库 网站以及业务应用之间都要进行数据交换 这就出现标准的数据格式 传输协议或Web服务 常见的数据格式XML JSON 常见的传输协议 SAOP REST等 开发人员通常都需要为一个应用写A