昆明java培训
达内昆明广州春城路

18487146383

热门课程

SpringMVC是如何处理JSON数据的

  • 时间:2016-08-31
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明Java培训机构的老师明白,想要搞明白第一个问题,前提是先要搞明白第一个问题:SpringMVC是如何处理JSON数据的。

1.使用HttpMessageConverter<T>来处理 JSON数据的。

Spring的HttpMessageConverter<T>负责将请求信息转换为一个对象,将对象输出为响应信息。

2.API

(1)boolean canRead(Class<?> clazz, MediaType mediaType);

转换器是否可将请求信息转换为clazz类型的对象,同时支持指定的MIME类型,如:text/html,application/json等。

(2)boolean canWrite(Class<?> clazz, MediaType mediaType);

转换器是否可以将clazz类型的对象写到响应中,响应支持的类型在mediaType中定义。

(3)List<MediaType> getSupportedMediaTypes();

改转换器支持的MediaType类型。

(4)T read(Class<? extends T> clazz, HttpInputMessage inputMessage);

将请求信息流转换为clazz类型的对象。

(5)void write(T t, MediaType contentType, HttpOutputMessage outputMessage)。

将T类型的对象写到响应输出流中,同时指定MediaType。

3.实现类

3.从上图可以看出,Spring默认支持使用Jackson来处理JSON问题。添加Jackson Jar包后,来看RequestMappingHadlerAdapter装配的HttpMessageConverter:

导入的Jackson Jar包:

4.具体的处理方法:

(1)使用@RequestBody和HttpEntity<T>对请求进行处理。

(2)使用@ResponseBody和ResponseEntity<T>对响应进行处理。

(3)@RequestBody对处理方法的入参进行标注。

(4)@ResponseBody对处理方法的签名进行标注。

(5)HttpEntity<T>和ResponseEntity<T>作为处理方法的入参使用。

具体的使用方法会在下面例子中进行说明。

5.@RequestBody和@ResponseBody是可以同时使用的。

想要搞明白第一个问题,前提是先要搞明白第一个问题:SpringMVC是如何处理JSON数据的。

1.使用HttpMessageConverter<T>来处理 JSON数据的。

Spring的HttpMessageConverter<T>负责将请求信息转换为一个对象,将对象输出为响应信息。

2.API

(1)boolean canRead(Class<?> clazz, MediaType mediaType);

转换器是否可将请求信息转换为clazz类型的对象,同时支持指定的MIME类型,如:text/html,application/json等。

(2)boolean canWrite(Class<?> clazz, MediaType mediaType);

转换器是否可以将clazz类型的对象写到响应中,响应支持的类型在mediaType中定义。

(3)List<MediaType> getSupportedMediaTypes();

改转换器支持的MediaType类型。

(4)T read(Class<? extends T> clazz, HttpInputMessage inputMessage);

将请求信息流转换为clazz类型的对象。

(5)void write(T t, MediaType contentType, HttpOutputMessage outputMessage)。

将T类型的对象写到响应输出流中,同时指定MediaType。

3.实现类

3.从上图可以看出,Spring默认支持使用Jackson来处理JSON问题。添加Jackson Jar包后,来看RequestMappingHadlerAdapter装配的HttpMessageConverter:

导入的Jackson Jar包:

4.具体的处理方法:

(1)使用@RequestBody和HttpEntity<T>对请求进行处理。

(2)使用@ResponseBody和ResponseEntity<T>对响应进行处理。

(3)@RequestBody对处理方法的入参进行标注。

(4)@ResponseBody对处理方法的签名进行标注。

(5)HttpEntity<T>和ResponseEntity<T>作为处理方法的入参使用。

具体的使用方法会在下面例子中进行说明。

5.@RequestBody和@ResponseBody是可以同时使用的。

想要搞明白第一个问题,前提是先要搞明白第一个问题:SpringMVC是如何处理JSON数据的。

1.使用HttpMessageConverter<T>来处理 JSON数据的。

Spring的HttpMessageConverter<T>负责将请求信息转换为一个对象,将对象输出为响应信息。

2.API

(1)boolean canRead(Class<?> clazz, MediaType mediaType);

转换器是否可将请求信息转换为clazz类型的对象,同时支持指定的MIME类型,如:text/html,application/json等。

(2)boolean canWrite(Class<?> clazz, MediaType mediaType);

转换器是否可以将clazz类型的对象写到响应中,响应支持的类型在mediaType中定义。

(3)List<MediaType> getSupportedMediaTypes();

改转换器支持的MediaType类型。

(4)T read(Class<? extends T> clazz, HttpInputMessage inputMessage);

将请求信息流转换为clazz类型的对象。

(5)void write(T t, MediaType contentType, HttpOutputMessage outputMessage)。

将T类型的对象写到响应输出流中,同时指定MediaType。

3.实现类

3.从上图可以看出,Spring默认支持使用Jackson来处理JSON问题。添加Jackson Jar包后,来看RequestMappingHadlerAdapter装配的HttpMessageConverter:

导入的Jackson Jar包:

4.具体的处理方法:

(1)使用@RequestBody和HttpEntity<T>对请求进行处理。

(2)使用@ResponseBody和ResponseEntity<T>对响应进行处理。

(3)@RequestBody对处理方法的入参进行标注。

(4)@ResponseBody对处理方法的签名进行标注。

(5)HttpEntity<T>和ResponseEntity<T>作为处理方法的入参使用。

具体的使用方法会在下面例子中进行说明。

5.@RequestBody和@ResponseBody是可以同时使用的。

学Java开发就到昆明达内Java培训班!了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:SpringMVC——对Ajax的处理
下一篇:请求的JSON字符串和实体的映射

昆明java培训机构:你不知道java的小细节

昆明Java培训机构《Java编程中需注意的几大问题》

昆明java培训机构:java未来的发展走向

昆明java培训机构:java学完可以干什么!

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货