Read a String Read string 'foo'
@RequestMapping(value="/string", method=RequestMethod.POST)
public @ResponseBody String readString(@RequestBody String string) {
return "Read string '" + string + "'";
}
Write a String Wrote a string
@RequestMapping(value="/string", method=RequestMethod.GET)
public @ResponseBody String writeString() {
return "Wrote a string";
}
Read a Form Read form map{foo=[bar], fruit=[apple]}
@RequestMapping(value="/form", method=RequestMethod.POST)
public @ResponseBody String readForm(@ModelAttribute JavaBean bean) {
return "Read x-www-form-urlencoded: " + bean;
}
JavaBean:
@XmlRootElement
public class JavaBean {
@NotNull
private String foo;
@NotNull
private String fruit;
}
Write a Form foo=bar&fruit=apple
@RequestMapping(value="/form", method=RequestMethod.GET)
public @ResponseBody MultiValueMap<String, String> writeForm() {
MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
map.add("foo", "bar");
map.add("fruit", "apple");
return map;
}
JavaBean参考上面的
Read XML Read from XML Foo:bar, Fruit:apple
@RequestMapping(value="/xml", method=RequestMethod.POST)
public @ResponseBody String readXml(@RequestBody JavaBean bean) {
return "Read from XML: " + bean;
}
Write XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<javaBean>
<foo>bar</foo>
<fruit>apple</fruit>
</javaBean>
java:
@RequestMapping(value="/xml", method=RequestMethod.GET)
public @ResponseBody JavaBean writeXml() {
return new JavaBean("bar", "fruit");
}
Read JSON Read from JSON Foo:bar, Fruit:apple
@RequestMapping(value="/json", method=RequestMethod.POST)
public @ResponseBody String readJson(@Valid @RequestBody JavaBean bean) {
return "Read from JSON: " + bean;
}
Write JSON{"foo":"bar", "fruit":"apple"}
@RequestMapping(value="/json", method=RequestMethod.GET)
public @ResponseBody JavaBean writeJson() {
return new JavaBean("bar", "fruit");
}
Read Atom Read My Atom feed
@RequestMapping(value="/atom", method=RequestMethod.POST)
public @ResponseBody String readFeed(@RequestBody Feed feed) {
return "Read " + feed.getTitle();
}
Write Atom
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www/w3/org/2005/Atom">
<title>My Atom feed</title>
</feed>
@RequestMapping(value="/atom", method=RequestMethod.GET)
public @ResponseBody Feed writeFeed() {
Feed feed = new Feed();
feed.setFeedType("atom_1.0");
feed.setTitle("My Atom feed");
return feed;
}
Read Rss
@RequestMapping(value="/rss", method=RequestMethod.POST)
public @ResponseBody String readChannel(@RequestBody Channel channel) {
return "Read " + channel.getTitle();
}
Write Rss
@RequestMapping(value="/rss", method=RequestMethod.GET)
public @ResponseBody Channel writeChannel() {
Channel channel = new Channel();
channel.setFeedType("rss_2.0");
channel.setTitle("My RSS feed");
channel.setDescription("Description");
channel.setLink("http://localhost:8080/mvc-showcase/rss");
return channel;
}
分享到:
相关推荐
在Spring MVC框架中,`mvc:annotation-driven`和`mvc:message-converters`是两个非常重要的元素,它们在处理基于注解的控制器和数据转换方面起着关键作用。本篇文章将深入探讨这两个组件的工作原理以及如何在实际...
5. **Message Converters**:Spring MVC提供了一组内置的消息转换器,用于将HTTP请求体和响应体与Java对象之间进行自动转换,如MappingJackson2HttpMessageConverter处理JSON格式。 6. **ModelAndView Enhancements...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建Web应用程序提供了一种模型-视图-控制器(MVC)的架构模式。在Spring框架中,Spring MVC作为一个独立的模块,允许开发者选择是否使用Spring内建的Web框架...
12. **Message Converters**:用于在HTTP请求和响应之间转换数据,如JSON、XML等格式。 13. **Aspect-Oriented Programming (AOP)**:SpringMVC可以结合Spring的AOP功能进行切面编程,实现全局的功能,如事务管理。...
</mvc:message-converters> </mvc:annotation-driven> ``` 5. 测试:现在,当客户端向 `/person` URL发起GET请求时,Spring MVC会将`getPerson`方法返回的`Person`对象自动转换为JSON格式并返回给客户端。 在...
8. **消息转换器(Message Converters)** Spring MVC提供了各种内置的消息转换器,如`StringHttpMessageConverter`,用于处理HTTP请求和响应的数据类型转换。 9. **测试支持(Testing Support)** Spring MVC...
Spring MVC 是 Spring 框架的一个模块,专为构建基于模型-视图-控制器(MVC)模式的Web应用程序而设计。它简化了处理HTTP请求、数据绑定、验证以及与后端服务交互的过程。在Java Web开发中,Spring MVC扮演着核心...
2. **Message Converters** - Spring MVC使用`MessageConverter`来将Java对象转换为HTTP响应体,反之亦然。对于REST服务,我们通常需要`MappingJackson2HttpMessageConverter`(用于JSON)和`...
这可以通过在配置文件中配置`<mvc:message-converters>`来实现。 总的来说,Spring MVC通过其强大的框架支持,使得实现REST风格的视图解析变得简单易行。开发者可以利用注解驱动的编程模型,结合DispatcherServlet...
9. **`<mvc:message-converters>`**: 这部分配置用于定义如何将HTTP请求和响应体的数据转换为Java对象。例如,使用Jackson库进行JSON序列化和反序列化。 10. **`<bean class="org.springframework.web.servlet.view...
<mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <value>application/json;charset=UTF-8 </mvc:message-converters> </mvc:annotation-...
</mvc:message-converters> </mvc:annotation-driven> ``` 在Controller中,使用`@ExceptionHandler`注解处理特定异常: ```java @RestController public class UserController { @Autowired private ...
9. **消息转换器(Message Converters)**: Spring MVC使用消息转换器将HTTP请求体和响应体转换为Java对象。例如,`MappingJackson2HttpMessageConverter`用于JSON的序列化和反序列化。开发者可以根据需要自定义和...
使用Spring MVC的`<mvc:annotation-driven>`标签,配合`<mvc:message-converters>`来定制`StringHttpMessageConverter`,指定JSON响应的字符集为UTF-8。 ```xml <mvc:annotation-driven> <mvc:message-converters>...
17.2.1. Setting up a message broker in Spring 17.2.2. Using Spring’s JMS template 17.2.3. Creating message-driven POJOs 17.2.4. Using message-based RPC 17.3. Messaging with AMQP 17.3.1. A brief ...
<mvc:message-converters register-defaults="true"> <bean class="com.abc.spring.UTF8StringHttpMessageConverter"/> </mvc:message-converters> </mvc:annotation-driven> ``` 3. **控制器中的编码配置**:...
项目介绍 这是一个 springmvc + mybatis + jdbc 的基础项目 这里使用了 jackson-databind 包, spring-mvc转json的包 ... <artifactId>jackson-databind ...mvc:message-converters register-default
10. **Message Converters**:消息转换器用于在HTTP请求与响应之间转换数据类型,如JSON、XML等。 手写Spring MVC框架的实践有助于开发者理解Spring MVC内部的工作机制,包括请求的流转过程、依赖注入的实现、AOP的...
4. 如果使用XML配置,可以在`<mvc:annotation-driven>`标签内添加`<mvc:message-converters>`,并指定`jackson-mapper-asl`或`jackson-databind`的全限定类名。 确保这些配置正确无误后,Spring MVC应该能正常处理...
4. **Spring Data MongoDB - Indexes, Annotations and Converters**: Spring Data MongoDB支持创建索引、使用注解来定义数据模型以及自定义转换器,以便更好地适应MongoDB的文档结构。 5. **Spring Data MongoDB...