当收到http请求时,Spring boot将执行以下步骤。
1.首先读取json http requestbody
2.然后将其反序列化为@RequestBody对象。
//Json数据映射器
ObjectMapper mapper=新的ObjectMapper();
制图员。writeValueAsString(请求)
我可以使用ObjectMapper输出json正文,但如果我可以在json正文反序列化为object之前直接输出json正文,那么效果会更好。
在spring boot将json请求体反序列化为对象之前,是否可以输出json请求体?
@RequestMapping(value = "/...", method = RequestMethod.POST)
public Bar getBar(@Valid @RequestBody String jsonBody){
System.out.println("data:" + jsonBody);
}
public class BarRequestEntity{
// AuthenticationKey
@NotBlank(message = "id {error.empty}")
private String id;
}
我正在使用@Valid
检查请求参数。
如果要将JSON作为字符串对象,
@RequestMapping("/...")
public Bar findBar(@RequestBody("json") String json) {
// ...
}
上面的代码片段将为您提供JSON字符串作为输出。现在,如果您想将其转换为对象,则可以使用
ObjectMapper mapper = new ObjectMapper();
而不是使用这个:
@RequestMapping("/...")
public Bar findBar(@RequestBody Foo foo) {
// ...
}
您可以这样做:
@RequestMapping("/...")
public Bar findBar(Reader reader) {
String json = reader.read..( );
Foo foo = objectMapper.read( ... );
}
但我认为没有办法同时获得反序列化对象和原始响应。不过我可能错了。
我有一个API,它正在被扩展,以供另一个系统使用。存在Pre-req,每个前端对一个json字段有不同的期望。 示例:响应字段“amount”必须是字符串或int,这取决于我从下游接收的值。因此,在某些情况下,我将在json中返回字符串值,而在其他情况下,我将返回int。 预期的json产出: 或 我已经做了以下工作: 我希望能够为json字段“amount”返回int或String值,但出现以下
我想在play应用程序(使用slick)启动之前,从docker compose文件(postgres和kafka实例)启动testcontainers。我想要这个,这样我就可以写一个端到端的测试。我似乎不明白这是怎么可能的。 Scala版本2.12.10 Testcontainer版本0.35.0 Play slick版本5.0.0 当我在没有“TestFunSpec”的情况下执行测试时,doc
使用以下命令启动Appium服务器:C:\Program Files(x86)\Appium\node.exelib\server\main.js-地址127.0.0.1-端口4723-平台名称Android-平台-版本23-自动化-名称Appium-日志-无颜色info:欢迎来到Appium v1.4.16(REV ae6877eff263066b26328d457bd285c0cc62430d
我有一个场景,我试图在Cordova的deviceready事件上初始化我的应用程序。现在,这个初始化序列需要几秒钟的时间来执行。这导致总发射时间远大于预期。我的问题是,是否可以简单地与即将推出的Cordova API和插件并行运行此初始化序列? 注意:初始化没有利用API或插件中的任何内容,所以我不能简单地在加载时立即运行它,而不是在onDeviceReady上运行它吗?
问题内容: 有没有办法强迫杰克逊不将类名放在Json输出中?我问了一个问题,导致这个问题,但我要问什么,我希望是一个更集中的问题。我在执行此操作时正在使用Spring MVC,但是我不确定这有多重要。 所以,代替 我想要 我可能更喜欢前者,但是我不知道如何在反序列化时让Jackson识别类名,所以如果有人知道,那也会有所帮助。 问题答案: 感谢http://pascaldimassimo.com/
我正在尝试使用简单的spring启动应用程序。我在ApplicationContext上启动应用程序时遇到问题。 2017-04-26 11:17:31.101警告14528---[main]s.c.a.AnnotationConfigApplicationContext:上下文初始化期间遇到异常-取消刷新尝试:org。springframework。豆。工厂未满足的PendencyExcepti