当前位置: 首页 > news >正文

广州企业网站建设哪家好南昌定制网站公司

广州企业网站建设哪家好,南昌定制网站公司,网站建设金手指专业,中国今天新闻最新消息2. 响应 前面我们学习过HTTL协议的交互方式#xff1a;请求响应模式#xff08;有请求就有响应#xff09; 那么Controller程序呢#xff0c;除了接收请求外#xff0c;还可以进行响应。 2.1 ResponseBody 在我们前面所编写的controller方法中#xff0c;都已经设置了…2. 响应 前面我们学习过HTTL协议的交互方式请求响应模式有请求就有响应 那么Controller程序呢除了接收请求外还可以进行响应。 2.1 ResponseBody 在我们前面所编写的controller方法中都已经设置了响应数据。 controller方法中的return的结果怎么就可以响应给浏览器呢 答案使用ResponseBody注解 ResponseBody注解 类型方法注解、类注解 位置书写在Controller方法上或类上 作用将方法返回值直接响应给浏览器 如果返回值类型是实体对象/集合将会转换为JSON格式后在响应给浏览器 但是在我们所书写的Controller中只在类上添加了RestController注解、方法添加了RequestMapping注解并没有使用ResponseBody注解怎么给浏览器响应呢 RestController public class HelloController {RequestMapping(/hello)public String hello(){System.out.println(Hello World ~);return Hello World ~;} } 原因在类上添加的RestController注解是一个组合注解。 RestController Controller ResponseBody RestController源码 Target({ElementType.TYPE})   //元注解修饰注解的注解 Retention(RetentionPolicy.RUNTIME)  //元注解 Documented    //元注解 Controller   ResponseBody public interface RestController {AliasFor(annotation Controller.class)String value() default ; } 结论在类上添加RestController就相当于添加了ResponseBody注解。 类上有RestController注解或ResponseBody注解时表示当前类下所有的方法返回值做为响应数据 方法的返回值如果是一个POJO对象或集合时会先转换为JSON格式在响应给浏览器 下面我们来测试下响应数据 RestController public class ResponseController {//响应字符串RequestMapping(/hello)public String hello(){System.out.println(Hello World ~);return Hello World ~;}//响应实体对象RequestMapping(/getAddr)public Address getAddr(){Address addr new Address();//创建实体类对象addr.setProvince(广东);addr.setCity(深圳);return addr;}//响应集合数据RequestMapping(/listAddr)public ListAddress listAddr(){ListAddress list new ArrayList();//集合对象Address addr new Address();addr.setProvince(广东);addr.setCity(深圳); ​Address addr2 new Address();addr2.setProvince(陕西);addr2.setCity(西安); ​list.add(addr);list.add(addr2);return list;} } 在服务端响应了一个对象或者集合那私前端获取到的数据是什么样子的呢我们使用postman发送请求来测试下。测试效果如下 2.2 统一响应结果 大家有没有发现一个问题我们在前面所编写的这些Controller方法中返回值各种各样没有任何的规范。 如果我们开发一个大型项目项目中controller方法将成千上万使用上述方式将造成整个项目难以维护。那在真实的项目开发中是什么样子的呢 在真实的项目开发中无论是哪种方法我们都会定义一个统一的返回结果。方案如下 前端只需要按照统一格式的返回结果进行解析(仅一种解析方案)就可以拿到数据。 统一的返回结果使用类来描述在这个结果中包含 响应状态码当前请求是成功还是失败 状态码信息给页面的提示信息 返回的数据给前端响应的数据字符串、对象、集合 定义在一个实体类Result来包含以上信息。代码如下 public class Result {private Integer code;//响应码1 代表成功; 0 代表失败private String msg;  //响应码 描述字符串private Object data; //返回的数据 ​public Result() { }public Result(Integer code, String msg, Object data) {this.code code;this.msg msg;this.data data;} ​public Integer getCode() {return code;} ​public void setCode(Integer code) {this.code code;} ​public String getMsg() {return msg;} ​public void setMsg(String msg) {this.msg msg;} ​public Object getData() {return data;} ​public void setData(Object data) {this.data data;} ​//增删改 成功响应(不需要给前端返回数据)public static Result success(){return new Result(1,success,null);}//查询 成功响应(把查询结果做为返回数据响应给前端)public static Result success(Object data){return new Result(1,success,data);}//失败响应public static Result error(String msg){return new Result(0,msg,null);} } 改造Controller RestController public class ResponseController { //响应统一格式的结果RequestMapping(/hello)public Result hello(){System.out.println(Hello World ~);//return new Result(1,success,Hello World ~);return Result.success(Hello World ~);} ​//响应统一格式的结果RequestMapping(/getAddr)public Result getAddr(){Address addr new Address();addr.setProvince(广东);addr.setCity(深圳);return Result.success(addr);} ​//响应统一格式的结果RequestMapping(/listAddr)public Result listAddr(){ListAddress list new ArrayList(); ​Address addr new Address();addr.setProvince(广东);addr.setCity(深圳); ​Address addr2 new Address();addr2.setProvince(陕西);addr2.setCity(西安); ​list.add(addr);list.add(addr2);return Result.success(list);} } 使用Postman测试
http://www.yutouwan.com/news/87968/

相关文章:

  • 济南中建设计院有限公司网站开发app外包公司
  • 个人网站的建立怎么做wordpress播放代码
  • 奇璐荣获北京十大高端设计公司称号济南做网站优化
  • 徐州cms建站系统百度网站推广怎么收费
  • 登录注册网站怎么做厦门网站建设首选厦门一联网络
  • 直播网站源码免费装修旧房翻新价格表
  • 携程网站建设项目深圳贸易网站建设
  • 怎么让人搜索到自己做的网站贵阳经开区建设管理局网站
  • 厦门 微网站建设公司国家政务服务平台官网入口
  • 湖北建设工程造价协会网站wordpress微博登陆不了
  • 研发工程师和开发工程师seo优化方案执行计划
  • 做软件营销网站怎么样网页搜索排名分析
  • 食品网站建设的照片网站做外部链接
  • 手机网站自适应屏幕wordpress 批量 产品
  • 上传网站安装教程注册网站不用手机短信验证的
  • 官方网站车联网是谁做做照片书的网站
  • 网站建设的案例教程视频wordpress为什么在自定义结构的时候总是出现斜杠呢
  • 新视网站建设联系qq长沙企业网站建设分公司
  • 小说网站上的广告在哪做老域名网站不收录
  • 云南大学做行测的网站包头企业微网站开发
  • 网站建设与管理职业分析莱州网站建设
  • 响应式网站用什么单位摄影网址
  • 网站菜单实现原理重庆新媒体运营公司有哪些
  • 拱墅区网站建设绿色环保企业网站模板
  • 网站开发原则如何做团购网站
  • 网站开发有必要用php框架wordpress move导入
  • wordpress图片替换不掉优化推广网站seo
  • 乐器产品主要在什么网站做推广如何做网站新手个人教程
  • 前端自己写代码建网站要花多少钱赣州做网站的
  • 建设棋牌类网站要多少钱学网页设计的怎么赚钱