2019独角兽企业重金招聘Python工程师标准>>>

#首先重新了解一下Restful

REST 是面向资源的,强调描述应用程序的事物和名词

原则条件:

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。

在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用 URI (Universal Resource Identifier) 得到一个唯一的地址。所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法,比如 GET、PUT、POST 和 DELETE。Hypermedia 是应用程序状态的引擎,资源表示通过超链接互联。

分层系统

另一个重要的 REST 原则是分层系统,这表示组件无法了解它与之交互的中间层以外的组件。通过将系统知识限制在单个层,可以限制整个系统的复杂性,促进了底层的独立性。

当 REST 架构的约束条件作为一个整体应用时,将生成一个可以扩展到大量客户端的应用程序。它还降低了客户端和服务器之间的交互延迟。统一界面简化了整个系统架构,改进了子系统之间交互的可见性。REST 简化了客户端和服务器的实现。

在Guns中实现前后端分离

我们都知道Guns主要分admin、core、generator、parent、rest五大层,这五大层分别有他们的作用,这里主要说的是rest层,在rest我将实现restful风格的前后端分离架构。

首先我在rest层实现对应的接口:

注意: 我这使用了@RestController注解,意思是将所有的http请求返回的结果打包成json对象返回给前端,值得注意的是的主要参数都加了@RequestBody注解,该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。这样做的原因是在调用此接口时我用的是RestTemplate对象的方法,下面会介绍

在admin层调用此接口:

先创建RestTemplateProperties为路径设置前缀,因为前缀就是你要链接的ip和端口号:

然后在application.yml中配置路径:

最后在admin层实现对rest层接口的调用:

注意: 这里我使用了RestTemplate对象的postForObject方法实现对rest接口的调用,该对象的底层可以自行研究,我也没有进行深入了解推荐一个挺不错的链接讲RestTemplate的请求方式: [[https://blog.csdn.net/u012702547/article/details/77917939]][1] [1]: https://blog.csdn.net/u012702547/article/details/77917939 "Spring RestTemplate中几种常见的请求方式"

转载于:https://my.oschina.net/u/3843989/blog/1841805

使用Restful、Guns、SpringBoot实现前后端分离相关推荐

  1. 从0搭建一个Springboot+vue前后端分离项目(一)安装工具,创建项目

    从0搭建一个Springboot+vue前后端分离项目(二)使用idea进行页面搭建+页面搭建 参考学习vue官网文档 https://v3.cn.vuejs.org/guide/installati ...

  2. Vue 脚手架结合 SpringBoot 构建前后端分离入门项目(实现增删改查)

    Vue 脚手架构建前后端分离项目 项目简介与预览 数据库建表 主要模块代码 index.js 路由代码 User.vue 用户组件 RAP2 创建接口进行测试 切换路由组件的显示: this.$rou ...

  3. 基于SpringBoot+Vue前后端分离的在线教育平台项目

    基于SpringBoot+Vue前后端分离的在线教育平台项目 赠给有缘人,希望能帮助到你!也请不要吝惜你的大拇指,你的Star.点赞将是对我最大的鼓励与支持! 开源传送门: 后台:Gitee | Gi ...

  4. 网上书城 springboot vue前后端分离

    网上书城 springboot vue前后端分离 文章目录 网上书城 springboot vue前后端分离 前言 一.运行截图 二.pom文件 1.引入库 总结 前言 基于springboot vu ...

  5. 大二期末作孽(SpringBoot+Vue前后端分离博客社区(重构White Hole))

    文章目录 前言 目录 效果演示 前言 由于时间关系,完成度确实不高,而且不签只是完成了客户端,当然目前这样也是已经可以正常使用了,当然有点勉强.不过后续还是会不断的去更新维护的,不过大体的架构是这样的 ...

  6. SpringBoot + Vue前后端分离开发:全局异常处理及统一结果封装

    SpringBoot + Vue前后端分离开发:全局异常处理及统一结果封装 文章目录 SpringBoot + Vue前后端分离开发:全局异常处理及统一结果封装 前后端分离开发中的异常处理 统一结果封 ...

  7. SpringBoot+vue前后端分离博客项目

    SpringBoot+vue前后端分离博客项目 Java后端接口开发 1.前言 2.新建Springboot项目 3.整合mybatis plus 第一步:导入jar包 第二步:然后去写配置文件: 第 ...

  8. 适合新手拿来练习的springboot+vue前后端分离小Demo

    前言: 作者:神的孩子在歌唱 大家好,我叫智 练习springboot+vue前后端分离的Demo 一. 设计数据库 二 . springboot项目创建 2.1 基本配置 2.2 创建dao层 三. ...

  9. 基于springboot vue前后端分离的图书借阅管理系统源码

    请观看视频: 基于springboot vue前后端分离的图书借阅管理系统源码 <project xmlns="http://maven.apache.org/POM/4.0.0&qu ...

最新文章

  1. ibatis动态语句中的prepend
  2. Xcode 升级后,cocoaPod 问题
  3. 21 | 哈希算法(上):如何防止数据库中的用户信息被脱库?
  4. 【Git、GitHub、GitLab】七 git中分支的删除以及出现分离头指针的情况
  5. Hemberg-lab单细胞转录组数据分析(七)-导入10X和SmartSeq2数据Tabula Muris
  6. 断言java怎么用_[java] java断言的使用
  7. c语言超市账务管理源代码,C语言 超市管理系统源程序.doc
  8. bae java-tomcat_有人在BAE开发过java-tomcat应用吗?数据库老是链接失败
  9. 面向接口的开发到面向对象的编程
  10. Inception V1-V4
  11. php薪资图表,加薪利器,老板再也不用担心生成图表图片了
  12. OVM-V1.5 发布,新增对 VMware ESXI 节点的支持
  13. win7 正式版安装成功,贴图得瑟一下
  14. 使用RMAN恢复备库
  15. JavaWeb之JavaScript及应用
  16. 离散数学——Euler 图与 Hamilton 图
  17. Scum服务器显示红色,进服务器 提示这个有大神解答一下吗
  18. C++——迪杰斯特拉算法弗洛伊德算法(DijkstraFloyd)for Neuedu
  19. java软件工程师自我评价_java软件工程师自我评价简历范文
  20. 自动写代码?别闹了!

热门文章

  1. SAP MM初阶之服务采购订单
  2. 图神经网络权威基准OGB的2020年“刷榜往事”
  3. 研究显示自动驾驶汽车只能解决三分之一的交通事故
  4. 你知道为什么S4HANA中物料凭证要全部放在MATDOC中吗
  5. 今日 Paper | 新闻推荐系统;多路编码;知识增强型预训练模型等
  6. 谷歌AI乳腺癌检测超过人类?美国知名记者:让糟糕的医疗更糟罢了
  7. 阿里达摩院已经研发出第一个可控的量子比特
  8. 谷歌的AI应用开发之道
  9. 教你如何运用可视化理解卷积神经网络(CNNs)的指南
  10. 【周鸿祎:当下AI技术并不完善,存四大“冰点”】