本文共 2160 字,大约阅读时间需要 7 分钟。
话不多说,直接代码:
@Controller//控制器@RequestMapping("/anno")//路径public class DemoAnnoController { /** * 此方法未标明路径,因此使用类级别的路径/anno;produces可定制返回的response的媒体类型和字符集,或需要返回值是json对象。 * ResponseBody支持将返回值放在response体内,而不是返回一个页面,此注解返回数据,此注解可以放置在返回值前或者方法上。 * @param request * @return */ @RequestMapping(produces = "text/plain;charset=UTF-8") public @ResponseBody String index(HttpServletRequest request){ return "url:"+request.getRequestURI()+" can access"; } /** * PathVariable接收路径参数 * @param str * @param request * @return */ @RequestMapping(value="/pathvar/{str}",produces = "text/plain;charset=UTF-8") public @ResponseBody String demoPathVar(@PathVariable String str,HttpServletRequest request){ return "url:"+request.getRequestURI()+" can access,str: "+str; } @RequestMapping(value = "/requestParam",produces = "text/plain;charset=UTF-8") public @ResponseBody String passRequestParam(Long id,HttpServletRequest request){ return "url:"+request.getRequestURI()+" can access,id: "+id; } @RequestMapping(value = "/obj",produces = "application/json;charset=UTF-8") @ResponseBody public String passObj(DemoObj obj,HttpServletRequest request){ return "url:"+request.getRequestURI()+" can access, obj id: "+obj.getId()+" obj name:"+obj.getName(); } /** * 可以映射不同的路径到相同的方法 * @param request * @return */ @RequestMapping(value = { "/name1","/name2"},produces = "text/plain;charset=UTF-8") public @ResponseBody String remove(HttpServletRequest request){ return "url:"+request.getRequestURI()+" can access "; }}
@RestController//使用该注解,声明是控制器,并且返回数据时不需要@ResponseBody@RequestMapping("/rest")public class DemoRestController { //返回json类型的数据 @RequestMapping(value = "/getjson",produces = { "application/json;charset=UTF-8"}) public DemoObj getjson(DemoObj obj){ return new DemoObj(obj.getId()+1,obj.getName()+"yy"); } //返回xml类型的数据。 @RequestMapping(value = "/getxml",produces = { "application/xml;charset=UTF-8"}) public DemoObj getxml(DemoObj obj){ return new DemoObj(obj.getId()+1,obj.getName()+"yy"); }}
转载地址:http://zljqi.baihongyu.com/