java web开发(三) 接口使用

来源:互联网 发布:淘宝有多少假货 编辑:程序博客网 时间:2024/06/08 17:50

    前面两篇文章讲解了,接口服务的搭建以及接口的开发,如果你还未了解,可以先看看文章,java web开发(一) 环境搭建和 java web开发(二) 接口开发。本篇文章,结合后台接口服务和客户端。客户端从接口获取数据,然后展示。(客户端使用Android)。

一.接口服务创建。可以参考上篇文章,这儿就不啰嗦了!

二. 实现Android项目。

1.创建Android项目。相信大家都会吧!(就不多说了)

2.实现Json数据解析。上篇接口开发文章中提到,返回的Json数据有2种,一种是对象,另一种是数组。那么我们就需要实现两种格式的解析对象。

 首先,需要创建一个基类,内部有三个字段,code、msg、time。具体实现如下:

[java] view plain copy
  1. public class Response implements Serializable {  
  2.   
  3.     /** 
  4.      *  
  5.      */  
  6.     private static final long serialVersionUID = 1L;  
  7.     private String code;  
  8.     //   
  9.     private String msg;  
  10.   
  11.     private Long time = new Date().getTime();  
  12.   
  13.     public String getCode() {  
  14.         return code;  
  15.     }  
  16.   
  17.     public void setCode(String code) {  
  18.         this.code = code;  
  19.     }  
  20.   
  21.     /** 
  22.      * @return the time 
  23.      */  
  24.     public Long getTime() {  
  25.         return time;  
  26.     }  
  27.   
  28.     /** 
  29.      * @param time 
  30.      *            the time to set 
  31.      */  
  32.     public void setTime(Long time) {  
  33.         this.time = time;  
  34.     }  
  35.   
  36.     public String getMsg() {  
  37.         return msg;  
  38.     }  
  39.   
  40.     public void setMsg(String msg) {  
  41.         this.msg = msg;  
  42.     }  
  43.   
  44.     public void setContent(String code, String msg) {  
  45.         this.code = code;  
  46.         this.msg = msg;  
  47.     }  
  48.   
  49.       
  50. }  

该类是所有json解析类的基类,封装了服务器返回的一些信息。

 2.1 对象。

[java] view plain copy
  1. public class EntityResponse<T> extends Response {  
  2.   
  3.     private static final long serialVersionUID = 3750508105973880680L;  
  4.     private T object;  
  5.   
  6.     public T getObject() {  
  7.         return object;  
  8.     }  
  9.   
  10.     public void setObject(T object) {  
  11.         this.object = object;  
  12.     }  
  13. }  

该类继承自Response,用于返回json数据是单独对象的情况。

 2.2 数组。

[java] view plain copy
  1. public class ListResponse<T> extends Response  {  
  2.   
  3.     private static final long serialVersionUID = 2857885317968129959L;  
  4.   
  5.     private List<T> items;  
  6.   
  7.     public List<T> getItems() {  
  8.         return items;  
  9.     }  
  10.   
  11.     public void setItems(List<T> items) {  
  12.         this.items = items;  
  13.     }  
  14. }  

该类继承自Response,用于返回json数据是数组的情况。

 2.3 Json解析。解析Json使用的是Gson。

[java] view plain copy
  1. private static <T> T parseByGson(String json, TypeToken<T> typeToken) {  
  2.         Gson gson = new Gson();  
  3.         T result = gson.fromJson(json, typeToken.getType());  
  4.   
  5.         String code = ((com.studentmaneagemobile.mobile.Response) result)  
  6.                 .getCode();  
  7.         String msg = ((com.studentmaneagemobile.mobile.Response) result)  
  8.                 .getMsg();  
  9.         //需要判断返回code是否是ok  
  10.         if (code != null && code.equalsIgnoreCase("ok")) {  
  11.             return result;  
  12.         }  
  13.         return null;  
  14.     }  
解析json,当code为‘ok’的时候,才认为返回json数据成功,此时才去解析json数据。传入返回json字符串和解析类型,例如

[java] view plain copy
  1. TypeToken<ListResponse<Students>> token = new TypeToken<ListResponse<Students>>() {  
  2.                         };  

 2.4 具体代码详解代码下载!

 2.5 运行。

 首先,启动接口服务,启动成功后,在浏览器中输入接口地址,例如出现如下截图表示接口服务启动成功,


接着,运行客户端代码,点击‘inq’按钮,效果图如下所示,


三. 总结。

   如果你做过Android或者Ios或者其他客户端开发,那么总是会需要后台服务提供接口。要实现这样的功能,简单的说可以分为2部分:

   1.接口服务开发。详情请看java web开发(一) 环境搭建和 java web开发(二) 接口开发。

   2.客户端开发。客户端需要,UI设计、网络、图片、数据库或者其他框架等等。

   PS: 这两部分,在前期设计的时候,需要好的架构师好好的设计一下!否则,在后期开发时,会遇到很大的问题!

  总结起来好像很简单,但是只有开发过的人,才知道其中的滋味!奋斗!“Good good study day day up”!

PS: 接口服务器代码, 接口服务demo下载地址

      客户端代码,客户端demo下载地址。

                             json格式化工具

推荐文章:SpringMVC 开发接口



博文中经常有小伙伴留言,说项目的许多问题,最近就推出几篇补坑的文章,打算这几篇文章详细解决项目中的代码以及业务流程,java web开发(四) 补坑1 java web开发(五) 接口开发补坑2欢迎大家查看!

原创粉丝点击