@ResponseBody注解

    xiaoxiao2021-12-14  25

    @ResponseBody 将内容或对象作为 HTTP 响应正文返回,使用@ResponseBody将会跳过视图处理部分,而是调用适合HttpMessageConverter,将返回值写入输出流。 Spring 3.X系列增加了新注解 @ResponseBody , @RequestBody    @RequestBody 将HTTP请求正文转换为适合的HttpMessageConverter对象。 @ResponseBody 将内容或对象作为 HTTP 响应正文返回,并调用适合HttpMessageConverter的Adapter转换对象,写入输出流。 HttpMessageConverter 接口,需要开启 <mvc:annotation-driven  /> 。   AnnotationMethodHandlerAdapter 将会初始化7个转换器,可以通过调用 AnnotationMethodHandlerAdapter的 getMessageConverts() 方法来获取转换器的一个集合 List<HttpMessageConverter>   引用 ByteArrayHttpMessageConverter   StringHttpMessageConverter   ResourceHttpMessageConverter   SourceHttpMessageConverter   XmlAwareFormHttpMessageConverter   Jaxb2RootElementHttpMessageConverter   MappingJacksonHttpMessageConverter @RequestMapping(value = "/person/profile/{id}", method = RequestMethod.GET)   public @ResponseBody Personporfile( @PathVariable("id") int uid){ return new Person(uid,name,status); } 使用@RequestBody绑定请求对象,Spring会帮你进行协议转换,将Json、Xml协议转换成你需要的对象。 @ResponseBody可以标注任何对象,由Srping完成对象——协议的转换。 http://my.oschina.net/u/1012289/blog/129321 1.如果不配置@ResponseBody,也可以使用response输出数据然后 return null,达到返回json字符串的效果。 String str ="{\"a\":\"中国\",\"b\",:\"日本\",\"c\":\"新加坡\",\"c\":\"美国\"}"; PrintWriter pw = null; try { pw = response.getWriter(); pw.write(str); pw.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 2.方法返回实体类对象 返回结果是json字符串{“属性”:”值”,”属性”:null}实体类对象属性为空时,value为null。 3.方法返回实体类对象集合List [{“属性”:”值”,”属性“:”值”...},{{“属性”:”值”,”属性“:”值”...},{{“属性”:”值”,”属性“:”值”...},{{“属性”:”值”,”属性“:”值”...}...] 4.方法返回Map集合 {key:{实体类对象属性键值对},key2:{实体类对象属性键值对},key3:{实体类对象属性键值对}}
    转载请注明原文地址: https://ju.6miu.com/read-969853.html

    最新回复(0)