【JavaWeb】如何越过SpringMVC直接返回内容
来自前同事问的一个问题,因为项目里面的SpringMVC会封装好一个固定的JSON响应规范:

可以看见,data属性下面,又会有一层data,
数据的消费方提出要求,只需要里面data的数据,外面的JSON规范不需要发过来
说实话我也不太清楚每个项目是怎么配置这个响应JSON的,
可能有个拦截器,在某一个jar包里面配置好了,你也不太可能取改JAR包来实现
所以相对简单的办法是采取最原生的JavaWeb的响应API来实现
一般项目会提供一个BaseController,写Web接口会要求你直接继承这个类,也可以不继承
@RestController
@RequestMapping("${sys.path}/room/service")
public class EServiceController extends BaseController
我这个项目的类的内容就这些:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
// package cn.ymcd.comm.base; import cn.ymcd.comm.base.log.LogFactory;
import cn.ymcd.comm.base.log.YmcdLogger;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired; public abstract class BaseController {
protected YmcdLogger _logger = LogFactory.getLogger(this.getClass());
@Autowired
protected HttpServletRequest request;
@Autowired
protected HttpServletResponse response; public BaseController() {
}
}
根据类的成员可以看出来,提供了一个日志打印
请求对象和响应对象,要越过配置好的JSON规范,可以直接使用这个响应对象进行字符输出
如果不继承这个类也很简单,直接在自己的Controller类里面配置就好了
@Autowired
protected HttpServletResponse response;
然后使用Response的Writer写String数据即可,JSON数据可以由Fastjson转换
https://www.cnblogs.com/shuilangyizu/p/9750428.html
【JavaWeb】如何越过SpringMVC直接返回内容的更多相关文章
- [手把手教程][JavaWeb]优雅的SpringMvc+Mybatis整合之路
来源于:http://www.jianshu.com/p/5124eef40bf0 [手把手教程][JavaWeb]优雅的SpringMvc+Mybatis整合之路 手把手教你整合最优雅SSM框架:S ...
- Fiddler 修改返回内容 OnBeforeResponse 无效 没用
Fiddler自定义脚本可以实现很强大的内容替换,包括很有意义的——修改返回内容. 具体的方法可以参考官网:http://docs.telerik.com/fiddler/KnowledgeBase/ ...
- SpringMVC Controller 返回值几种类型
SpringMVC Controller 返回值几种类型 2016年06月21日 19:31:14 为who而生 阅读数:4189 标签: Controller 返回值类型spring mvc 更多 ...
- [转]使用自定义HttpMessageConverter对返回内容进行加密
今天上午技术群里的一个人问” 如何在 Spring MVC 中统一对返回的 Json 进行加密?”. 大部分人的第一反应是通过 Spring 拦截器(Interceptor)中的postHandler ...
- Spring mvc 注解@ResponseBody 返回内容编码问题
@ResponseBody 在@Controller 类方法中能够让字符串直接返回内容. 其返回处理的类是org.springframework.http.converter.StringHttpMe ...
- 14、SpringBoot------定制错误返回内容json格式
开发工具:STS 前言: 在前后端分离的项目中,当前端向后端请求资源失败时,想知道具体的错误原因,给用户予以提示. 但是,在springboot中返回内容是固定的.并不适合我们前端进行分析. 所以,就 ...
- SpringMVC中返回JSON时乱码的解决方案
springMVC中返回JSON会出现乱码,解决如下: produces = "text/html;charset=UTF-8" @ResponseBody @RequestMap ...
- anyproxy学习3-修改返回内容(beforeSendResponse)
前言 fiddler可以抓包打断点后,修改返回的内容,便于模拟各种返回结果.anyproxy也可以通过写rule模块规则,模拟返回状态码.头部.body beforeSendResponse befo ...
- 关于Swagger @ApiModel 返回内容注释不显示问题
今天做了一天@ApiModel希望Swagger生成的文档出现返回的内容注释,发现需要用到@ApiModel注解到你需要返回的类上 @ApiModelProperty作为字段的描述 例如 之后文档还 ...
- Charles抓包工具断点修改返回内容
在测试过程中,往往需要让服务器返回指定的内容,测试一些特殊情况.例如列表内容为空.数据异常的情况等.如果通过操作服务器配合构造相应的数据会比较麻烦,甚至不好构造数据.此时,可以使用Charles的断点 ...
随机推荐
- 瑞数456vmp逆向分析
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6 ...
- react 样式继承 属性传递
# 样式 import styled from 'styled-components' const Button = styled.button` font-size: 20px; border: 1 ...
- 剑指Offer-48.不用加减乘除做加法(C++/Java)
题目: 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 分析: 将加法还原成最原始的计算方法,也就是分别计算进位和非进位的和,最后再将这两部分合起来,便是和.我们可以利 ...
- JS获取表单所有内容
var formData = {}; var t = $('#Form').serializeArray(); $.each(t, function() { formData[this.name] = ...
- redis高可用哨兵篇
https://redis.io/docs/manual/sentinel/#sentinels-and-replicas-auto-discovery 官网资料 在上文主从复制的基础上,如果注节点出 ...
- (三)xpath爬取4K高清美女壁纸
功能:通过xpath爬取彼岸图网的高清美女壁纸 url = 'http://pic.netbian.com/4kmeinv/' 1. 通过url请求整张页面的数据 2.通过页面的标签定位图片所在的位置 ...
- Shiro 的优点
a.简单的身份认证, 支持多种数据源 b.对角色的简单的授权, 支持细粒度的授权(方法级) c.支持一级缓存,以提升应用程序的性能 d.内置的基于 POJO 企业会话管理, 适用于 Web 以及非 W ...
- java8 Lambda 测试示例
import com.google.gson.Gson; import org.junit.Test; import java.util.Arrays; import java.util.IntSum ...
- 浅析Vite本地构建原理
前言 随着Vue3的逐渐普及以及Vite的逐渐成熟,我们有必要来了解一下关于vite的本地构建原理. 对于webpack打包的核心流程是通过分析JS文件中引用关系,通过递归得到整个项目的依赖关系,并且 ...
- spark中各窗口函数对于窗口的要求
窗口参数: class WindowSpec private[sql]( partitionSpec: Seq[Expression], orderSpec: Seq[SortOrder], fram ...