Rest接口和Thymeleaf的两个坑

简介: spring boot thymeleaf 热部署 在使用spring boot 开发的时候,使用了Thymeleaf 作为前端的模板开发,发现在调试过程中,改动了Thymeleaf模板后,需要重新启动下项目,才可以立即生效解决办法:ctrl+shift+f9  http://www.

spring boot thymeleaf 热部署

在使用spring boot 开发的时候,使用了Thymeleaf 作为前端的模板开发,发现在调试过程中,改动了Thymeleaf模板后,需要重新启动下项目,才可以立即生效
解决办法:
ctrl+shift+f9

 http://www.oschina.net/question/779083_2148086


spring boot推荐支持,因为spring boot是快速开发,而thymeleaf又是原型即页面,所以从理念是接近的 

单纯从效率上看,没有什么优势,而且用这种测试也不太准
thymeleaf 的首次渲染比Beetl差的是数量级,后续的持续渲染,3.0版本是有很大提升的,也和Beetl也差不多
优势是 html 的显示优势 前后端可以很好的分离,要是有很多的页面拆分(include 的部分)优势也不是很明显了

是的,基本上都会抽出一些公用模版,所以这种优势并不明显,像引入的js,css

 

 

 

如果配置了HttpMessageConverter,然后在@ResponseBody的接口的返回值使用JSON.toJSONString()转换过,输出的结果就会有以下提示

解决办法:接口直接返回对象,Spring会调用已经配置的HttpMessageConverter将对象转换成json字符串

 

另外一个解决地思路:http://blog.csdn.net/u010161082/article/details/46618947

 

 

 

HttpMessageConvert配置示例:

    <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter4">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value> 
            </list>
        </property>
        <property name="fastJsonConfig">
            <bean class="com.alibaba.fastjson.support.config.FastJsonConfig">
                <property name="features">
                    <list>
                        <value>AllowArbitraryCommas</value>
                        <value>AllowUnQuotedFieldNames</value>
                        <value>DisableCircularReferenceDetect</value>
                    </list>
                </property>
                <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"></property>
            </bean>
        </property>
    </bean>

http://blog.csdn.net/my_god_sky/article/details/53385246

<?xml version="1.0" encoding="UTF-8"?>
<!-- 注意!SpringMVC的配置文件使用的是mvc命名空间 -->
<beans:beans xmlns:context="http://www.springframework.org/schema/context"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:beans="http://www.springframework.org/schema/beans"
             xmlns="http://www.springframework.org/schema/mvc"
             xmlns:task="http://www.springframework.org/schema/task"
             xmlns:mvc="http://www.springframework.org/schema/mvc"
             xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
            http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd
          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">

    <context:annotation-config/>
    <context:component-scan base-package="com.mkyong.common.controller" />

    <annotation-driven>
        <message-converters register-defaults="true">
            <!-- @ResponseBody乱码问题,将StringHttpMessageConverter的默认编码设为UTF-8 -->
            <beans:bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <beans:constructor-arg value="UTF-8"/>
            </beans:bean>
            <!-- 配置Fastjson支持 -->
            <beans:bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                <beans:property name="charset" value="UTF-8"/>
                <beans:property name="supportedMediaTypes">
                    <beans:list>
                        <beans:value>application/json</beans:value>
                        <beans:value>text/html;charset=UTF-8</beans:value>
                    </beans:list>
                </beans:property>
                <beans:property name="features">
                    <beans:list>
                        <beans:value>WriteMapNullValue</beans:value>
                        <beans:value>QuoteFieldNames</beans:value>
                        <beans:value>WriteDateUseDateFormat</beans:value>
                        <beans:value>WriteEnumUsingToString</beans:value>
                    </beans:list>
                </beans:property>
            </beans:bean>
        </message-converters>
    </annotation-driven>
    <beans:bean
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/"/>
        <beans:property name="suffix" value=".jsp"/>
    </beans:bean>
</beans:beans>

 

http://www.cnblogs.com/sunp823/p/5601397.html

 

相关文章
|
2月前
|
缓存 Java API
基于Spring Boot REST API设计指南
【10月更文挑战第11天】 在构建现代Web应用程序时,RESTful API已成为一种标准,使得不同的应用程序能够通过HTTP协议进行通信,实现资源的创建、读取、更新和删除等操作。Spring Boot作为一个功能强大的框架,能够轻松创建RESTful API。本文将详细介绍如何在Spring Boot中设计和实现高质量的RESTful API。
142 61
|
6月前
|
JSON Java 网络架构
SpringMVC(三)【REST 风格】
SpringMVC(三)【REST 风格】
|
6月前
|
应用服务中间件 网络架构 容器
SpringMVC(三)【REST 风格】(2)
SpringMVC(三)【REST 风格】
|
6月前
|
XML 前端开发 Java
Spring3 MVC中使用Swagger生成API文档
Spring3 MVC中使用Swagger生成API文档
53 0
|
7月前
|
缓存 Java 关系型数据库
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
219 0
|
Java API 网络架构
Spring Boot - Rest VS GraphQL
Spring Boot - Rest VS GraphQL
72 0
|
前端开发 Java API
# Spring MVC与RESTful API:如何设计高效的Web接口
# Spring MVC与RESTful API:如何设计高效的Web接口
122 0
BXA
|
JSON 前端开发 Java
Spring Boot与GraphQL实现API查询
Spring Boot是一个快速搭建应用程序的框架,它能够简化应用程序的开发和部署,是一个非常流行的Java框架。GraphQL是一种用于API查询的语言,能够非常方便地实现API查询和传输。当这两种技术结合起来时就可以得到一种非常强大的API查询解决方案。
BXA
8614 2
BXA
|
缓存 前端开发 IDE
Spring MVC实现RESTful API
Spring MVC是Spring Framework的一个模块,它为Web应用程序提供了一种模型-视图-控制器(MVC)架构。通过分离模型(Model)、视图(View)和控制器(Controller)的方式,使代码易于维护和测试。同时Spring MVC还支持RESTful API的开发
BXA
135 0
|
JSON 网络架构 数据格式
SpringMVC的请求与相应和REST风格
SpringMVC的请求与相应和REST风格
101 0
SpringMVC的请求与相应和REST风格