SpringBoot HATEOAS的原理是什么

技术SpringBoot HATEOAS的原理是什么本篇文章给大家分享的是有关SpringBoot HATEOAS的原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小

本篇文章给大家分享的是有关跳跳引擎的原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

REST风格简介

介绍引擎之前先简单介绍一下休息,休息是表征状态转移的缩写,翻译过来的意思是表达性状态转换休息。是一种架构的风格

Richardson Maturity Model

理查森提出了休息一种成熟度模型,我们称之为理查森成熟度模型,这种模式将休息按照成熟度划分为四个等级

级别0:使用超文本传送协议作为网服务的传输方式,以休息样式公开肥皂网服务级别1:使用适当的URI(使用名词)公开资源,这种方式提出了资源的概念二级:资源使用正确的URI HTTP方法,比如更新用户就用放方式,查询用得到方式级别3:使用HATEOAS(作为应用程序状态引擎的超媒体),在资源的表达中包含了链接信息,客户端可以在链接信息中发现可以执行的操作

HATEOAS是什么?

引擎代表"超媒体是应用程序状态的引擎"

从前言我们已经可以清楚知道,使用引擎约束是休息风格中成熟度最高的,也是官方推荐的一种方式,没使用引擎的项目,服务端和客户端是耦合的,客户端只能通过相关文档来知道服务端做了什么修改,使用引擎约束的休息服务,服务端修改接口信息后,客户端可以通过服务器提供的资源的表达来智能地发现可以执行的操作,客户端不需要做啥修改,因为资源信息是会动态改变的

在春天的官网,已经有提供这个项目的相关文档,链接:https://春季。io/项目/spring-hateoas

SpringBoot HATEOAS

回弹中也有集成HATEOAS,本博客介绍一下如何使用

工具准备:

JDK8.0 Maven 3.0构建工具黯然失色或者IntelliJ IDEA gitgitlab

Maven相关配置

在pom.xml加上超媒体作为应用状态的引擎配置

相关性groupIdorg.springframework.boot/groupId artifactId spring-boot-starter-hateoas/artifactId/dependency

因为是要写个网简单凝乳例子,其它需要的也加上

依赖关系groupIdorg.springframework.boot/groupId artifactId spring-boot-starter-data-JPA/artifactId/dependent依赖关系groupIdorg.springframework.boot/groupId artifactId spring-boot-starter-hateoas/artifactId/dependent依赖关系groupIdorg.springframework.boot/groupId人工智能春季-启动-启动-网络/人工智能/从属依赖关系groupIdcom.alibaba/groupId人工智能/人工智能版本1 .0 .25/版本/依赖关系依赖关系组id MySQL/组id artifactmysql-连接器-Java/artifactId版本5 .1 .40/版本/依赖关系依赖关系groupIdorg.springframework.boot/groupId手工弹簧靴

实体类实现ResourceSupport

模型类实现超媒体作为应用状态的引擎提供的资源供应商

进口。com。fasterxml。杰克逊。注释。jsoncreator导入com。fasterxml。杰克逊。注释。jsonproperty导入组织。弹簧框架。哈泰奥斯。资源支持;导入javax。坚持。*;导入Java。io。可序列化;@实体@表(名称='sys_user ')公共类SysUserInfo扩展了资源支持实现了可序列化的{ @ Id @生成的值私有长用户标识@列(唯一=真,长度=20,可空=假)私有线用户名;@Column(长度=2,可空=真)私有线性别;@Column(长度=10,可空=真)私有线密码;public SysUserInfo(){ } @ JSonCreater public SysUserInfo(@ JSonproperty(' UserID ')Long UserID、@ JSonproperty(' username ')String username、@JsonProperty('sex')String sex、@ JSonproperty(' password ')String password){ this。userId=userIdthis.username=用户名;this . sex=sex this . password=password } }.

接口调用,基于引擎模式

@ GetMapping('/findbysuserid/{ UserID } ')公共SysUserInfo findbysuserid(@ path变量(' userId ')long userId){ if(log。is infoenabled()){ log。信息('请求参数userId : {} ',userId);} OptionalSysUserInfo SysUserInfo=可选。的可空值(SysUserrepository。findbyUserId(UserId));if(!SysUserInfo . IsPresent()){ 0抛出新的' NotFoundException('查询不到用户信息!userId : ' userId);}//资源用户信息资源=新资源ysuserinfo(sysuserinfo。get());控制器链接生成器链接生成器=链接到(方法on(this。getclass()).findbysuserid(userId));sysUserInfo.get().添加(LinkBuilder。with ReL(' findbysuserid ');返回SysUserInfo。get();}

以上就是跳跳引擎的原理是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/112488.html

(0)

相关推荐

  • P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G

    技术P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fe

    礼包 2021年11月18日
  • windows平台bugfree3.0.3搭建心得是什么

    技术windows平台bugfree3.0.3搭建心得是什么windows平台bugfree3.0.3搭建心得是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易

    攻略 2021年10月25日
  • 铁与稀硝酸反应,少量铁和稀硝酸反应离子方程式

    技术铁与稀硝酸反应,少量铁和稀硝酸反应离子方程式(1)少量铁与稀硝酸反应(或铁粉与过量稀硝酸反应)的方程式:Fe+4HNO3(稀)=Fe(NO3)3+NO↑+2H2O
    离子方程式为:
    Fe+4H+ +NO3-==Fe3

    生活 2021年10月26日
  • 5肖臻区块链听课笔记

    技术5肖臻区块链听课笔记 5肖臻区块链_听课笔记去中心化升级小部分未升级,产生协议分叉,协议升级,新旧互相不合法,产生hard fork,只要旧的不更新,分叉一直有soft fork临时的,旧结点只能去

    礼包 2021年12月10日
  • 摇摇晃晃照样子写词语,照样子写词语。例:隐隐约约

    技术摇摇晃晃照样子写词语,照样子写词语。例:隐隐约约A 挨挨挤挤摇摇晃晃照样子写词语、 安安稳稳、 彬彬济济、期期艾艾B 蹦蹦跳跳、 比比划划、 病病歪歪C 葱葱茏茏、 痴痴呆呆、 层层叠叠 、苍苍茫茫、楚楚谡谡、 抽抽

    生活 2021年10月25日
  • 为什么春节要贴春联,过春节贴春联的习俗是怎么来的

    技术为什么春节要贴春联,过春节贴春联的习俗是怎么来的春联,就是写有关春节的吉语。 它是用结构相同为什么春节要贴春联、字数相等、词性相对的一对句子或句子成分来表达相反、 相似或相关意思的一种修辞手法。这 是中华民族艺苑中一

    生活 2021年10月31日