SpringMVC 构建 RESTful 风格的资源交互(返回 Json / Xml 格式数据资源)
RESTful 风格在后台服务端来看:我们不需要再返回一个类似于JSP的页面,我们只需要返回数据资源的内容,纯数据,不含任何显示信息。
简单的来说就是,我们只需要返回 Json、Xml、RSS、图片等消息或者媒体。
下面就让我们看看 SpringMVC 对于这种资源交互的支持。[……]
RESTful 风格在后台服务端来看:我们不需要再返回一个类似于JSP的页面,我们只需要返回数据资源的内容,纯数据,不含任何显示信息。
简单的来说就是,我们只需要返回 Json、Xml、RSS、图片等消息或者媒体。
下面就让我们看看 SpringMVC 对于这种资源交互的支持。[……]
在实际使用环境中,我们同一个应用环境可能需要在不同环境运行(开发、测试、生产等),每个环境的参数都有可能不同(连接参数、日志级别等),使用 Spring-Boot 的 Profiles 可以将不同环境下的参数进行拆分,并指定加载。
[……]
在 Spring-Boot 中使用 Redis 基本上只需要简单几步操作即可
实际上只需要添加 Redis 依赖以及增加 Redis 连接设置即可
pom.xml
文件
<dependency>
<groupId>org.springf[......]
在项目运行中,错误的抛出是很正常的,有数据验证错误,执行错误,连接错误等等各种错误类型,而根据我们定义的 API 来看,我们需要统一的返回一个约定好的错误格式。
Spring-Boot 提供了一个默认的错误页面 /error
@RequestMapping("/testExc[......]
Spring-Boot 提供内置的 Tomcat 直接打包为 Jar 格式后运行 @SpringBootApplication
Application
下的 main 方法即可,但是本人更喜欢使用 Tomcat 来运行应用,Spring-Boot 同样提供了方法。
Applicatio[......]
众所周知,Spring-Boot 使用 application.properties 进行配置基本参数,另外其实 Spring-Boot 自定义了一种 yml 格式也可以用于参数配置。
请求地址为 http://localhost:8080/test
se[......]
现代浏览器出于安全的考虑,使用 XMLHttpRequest对象发起 HTTP请求时必须遵守同源策略,否则就是跨域的HTTP请求,默认情况下是被禁止的。IP(域名)不同、或者端口不同,都会造成跨域问题。
在实际项目中,前端与后台经常会出现不在同一服务器的情况。并且在开发测试不同环境也会出现[……]
通常在构建 API 时会通过 在 HttpHeader 中传递 Token 参数来自动注入用户实体类,但是在 Swagger-UI 生成的文档中测试时,既没有输入 token 的地方,在参数列表中还存在用户实体类参数,造成了 Swagger-UI 与实际调用参数完全不符的情况。实际上使用一些简单的设[……]
在利用拦截器获取 token 后,需要调用 UserService 来获取用户,但是在测试中发现 UserService 为空,应该是没有注入成功,代码如下。
@Slf4j
@Component
public class AuthInterceptor extends HandlerInterce[......]
目前流行的 RESTful API 在风格设计中,都会有一个 token 作为登录设计,本文就来简单搭建一个这样的接口设计实现。