我有
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
SessionInfo register(UserProfile profileJson){
...
}
我以这种方式传递profileJson:
http://server/url?profileJson={"email": "mymail@gmail.com"}
但是我的profileJson对象具有所有空字段。我应该怎么做才能使spring解析我的json?
这可以通过自定义编辑器完成,该编辑器将JSON转换为UserProfile对象:
public class UserProfileEditor extends PropertyEditorSupport {
@Override
public void setAsText(String text) throws IllegalArgumentException {
ObjectMapper mapper = new ObjectMapper();
UserProfile value = null;
try {
value = new UserProfile();
JsonNode root = mapper.readTree(text);
value.setEmail(root.path("email").asText());
} catch (IOException e) {
// handle error
}
setValue(value);
}
}
这是为了在控制器类中注册编辑器:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(UserProfile.class, new UserProfileEditor());
}
这是使用编辑器解组JSONP参数的方法:
@RequestMapping(value = "/jsonp", method = RequestMethod.GET, produces = {MediaType.APPLICATION_JSON_VALUE})
@ResponseBody
SessionInfo register(@RequestParam("profileJson") UserProfile profileJson){
...
}
我有过 我通过这种方式传递profileJson: 但是我的配置文件Json对象具有所有空字段。我应该怎么做才能让Spring解析我的json?
我一直在尝试使用: 使用此链接: 但我有一个错误: 当我换成: 是工作。我能做些什么来和日期一起工作? 谢啦
我正在使用Spring形式。我只需要得到Staemap作为响应,但我得到的是整个jsp页面作为响应。
问题内容: 我正在阅读一本书,并在有关控制器的一章中谈到渲染的内容,对于JSON,它有一个类似这样的示例,但没有详细介绍,因此我无法弄清楚该示例所适合的整体情况: 还有使用JSONP和回调函数的示例: 有人可以解释这些吗? 问题答案: 通常,您将返回JSON的原因之一是: A)您正在将部分/全部应用程序构建为单页应用程序(SPA),并且需要客户端JavaScript能够提取其他数据而无需完全重新加
我正在寻找重定向与参数到一个控制器在Laravel和拿起参数在第二个控制器。 我是按照下面链接的文档在第一个控制器中设置的。 https://laravel.com/docs/5.3/redirects#redirecting-控制器动作 重定向 路线 第二控制器 但是,这当前返回未定义的变量。 这是最好的方法吗?如果是的话,我错在哪里?
我想使用@SessionAttributes注释在SpringMVC中的两个控制器之间共享会话属性。 下面是我用来测试属性共享的一个简单代码:AController。JAVA a.jsp BController.java b.jsp 我期望的行为是转到 /aURL,myParam将被设置为0到99之间的随机值,然后该值将在两个控制器之间共享。 但是,会发生以下情况:我转到/a URL,myPara