Rest接口

虽然现在还有很多人在用jsp,但是其实这种动态页面早已过时,现在前端流行的是静态HTML+ rest接口(json格式)。当然,如果是单台服务器,用动态还是静态页面可能没什么很大区别,但是如果服务器用到了集群、负载均衡、CDN等技术,用动态页面还是静态页面差别非常大,这不是一两句能解释清楚的,也不是本篇讨论的内容。只是建议尽量使用HTML+ rest来做WEB,本博客也主要讲解这方面的用法,而不会讲关于jsp之类的动态用法

传统rest用法 

用spring mvc可以很容易的实现json格式的rest接口,这是比较传统的用法,在spring boot中已经自动配置了jackson

//注册一个spring控制层bean
@Controller
public class HelloController {
//配置方法的post请求url
@RequestMapping(value= "/url",method=RequestMethod.POST)
//将这个方法的返回值转换成特定格式,默认是json
@ResponseBody
//user用来接收前端请求的相关传参,比如form表单中的参数
public String hello(User user){
return "hello world"; //这个返回值就是前端ajax请求rest的返回值
}
}

新的rest用法

在较新的spring版本中,出了几个新的注解,简化了上面的用法,如下
//@Controller+@ResponseBody组合,相当于在每个方法都加上@ResponseBody。
@RestController
public class HelloController {
//直接指定Post请求,同样也有@GetMapping
@PostMapping("/url")
//@RequestBody是指请求来的参数是json格式,以json格式来转换到uer,现在用json传参已经用的越来越多
public String hello(@RequestBody User user){
return "hello world";
}
}

前端ajax请求rest

JS请求AJAX我就不说的,不同的JS框架有不同的用法。如果要请求上面的rest接口,只需要在请求时指定url为http://localhost:8080/url,请求方法为post,传入相应的参数,上面的方法就会向AJAX请求返回一个字符串"hello world",返回值 也可以是一个java复合类型,@ResponseBody注解会自动将其转换成json格式。

spring boot(3)-Rest风格接口的更多相关文章

  1. Spring Boot (2) Restful风格接口

    Rest接口 动态页面jsp早已过时,现在流行的是vuejs.angularjs.react等前端框架 调用 rest接口(json格式),如果是单台服务器,用动态还是静态页面可能没什么大区别,如果服 ...

  2. 使用Spring boot开发RestFul 风格项目PUT/DELETE方法不起作用

    在使用Spring boot 开发restful 风格的项目,put.delete方法不起作用,解决办法. 实体类Student @Data public class Student { privat ...

  3. Spring Boot构建 RESTful 风格应用

    Spring Boot构建 RESTful 风格应用 1.Spring Boot构建 RESTful 风格应用 1.1 实战 1.1.1 创建工程 1.1.2 构建实体类 1.1.4 查询定制 1.1 ...

  4. Spring Boot实现通用的接口参数校验

    Spring Boot实现通用的接口参数校验 Harries Blog™ 2018-05-10 2418 阅读 http ACE Spring App API https AOP apache IDE ...

  5. Spring Boot Hello World (restful接口)例子

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  6. Spring Boot2 系列教程(三十一)Spring Boot 构建 RESTful 风格应用

    RESTful ,到现在相信已经没人不知道这个东西了吧!关于 RESTful 的概念,我这里就不做过多介绍了,传统的 Struts 对 RESTful 支持不够友好 ,但是 SpringMVC 对于 ...

  7. Spring Boot 集成 Swagger 构建接口文档

    在应用开发过程中经常需要对其他应用或者客户端提供 RESTful API 接口,尤其是在版本快速迭代的开发过程中,修改接口的同时还需要同步修改对应的接口文档,这使我们总是做着重复的工作,并且如果忘记修 ...

  8. spring boot:用swagger3生成接口文档,支持全局通用参数(swagger 3.0.0 / spring boot 2.3.2)

    一,什么是swagger? 1,  Swagger 是一个规范和完整的文档框架, 用于生成.描述.调用和可视化 RESTful 风格的 Web 服务文档 官方网站: https://swagger.i ...

  9. Spring Boot Swagger2自动生成接口文档

    一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 1.问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 2 ...

随机推荐

  1. resetBuffer方法与reset方法的使用场景:解决生成HTML或者文件下载时的首部空白行的问题

    getResponse的getWriter()方法 getResponse的getWriter()方法连续两次输出流到页面的时候,第二次的流会包括第一次的流,所以可以使用response.reset或 ...

  2. FreeRTOS-07内核控制函数

    根据正点原子FreeRTOS视频整理 单片机:STM32F207VC FreeRTOS源码版本:v10.0.1 内核控制函数:

  3. 【Kafka源码】Kafka代码模块

    Kafka源码依赖于Scala环境,首先需要安装scala,这块请自行百度进行安装. 传送门 当然,我们要分析源码,需要下载源码,请自行从github上面下载. 说明:本文使用的kafka版本为0.1 ...

  4. SSM上传EXCLE到数据库 和 从数据库导出为EXCLE

    SSM上传EXCLE到数据库 和 从数据库导出为EXCLE package com.ABC.controller; import java.io.BufferedInputStream; import ...

  5. mongo 固定集合,大文件存储,简单优化 + 三招解决MongoDB的磁盘IO问题

    1.固定集合 > db.createCollection(, max:});//固定集合 必须 显式创建. 设置capped为true, 集合总大小xxx字节, [集合中json个数max] { ...

  6. 【es6】正则扩展

  7. WPF中用后台C#代码为TabItem设置Background属性

    TabItem tabItem = sender as TabItem; tabItem.Background = new ImageBrush(new BitmapImage(new Uri(@&q ...

  8. C#判断字符串中是否包含一个子字符串是可以直接使用Contains()方法

    1. 以前判断一个字符串中是否包含另一个子字符串时,习惯使用 IndexOf(); string str = "ABC@QQ"; if(str.IndexOf("@&qu ...

  9. CodeForces 1060 B Maximum Sum of Digits

    Maximum Sum of Digits You are given a positive integer n. Let S(x)S(x) be sum of digits in base 10 r ...

  10. 说一说HTTP

    什么是URI和URL URI用字符串标示某一互联网资源,而URL表示资源的地点.可见URL是URI的子集. URI要使用涵盖全部必要信息的URI.绝对URL以及相对URL.相对URL是指从浏览器中基本 ...