zoukankan      html  css  js  c++  java
  • RestEasy Web服务客户端调用

    RestEasy  Web服务客户端调用


    个人博客 http://blog.csdn.net/nndtdx

    • 背景

    在前几篇文章中,我介绍了用RestEasy 框架搭建的Rest风格的java web服务。这几天事情比较多,一直没有写客户端的调用方法。现在就谈一下客户端的调用方法。
    首先,如果你还不知道如何利用RestEasy 构建Rest风格的Web服务。请查看与web服务相关的概念以及如何利用RestEasy搭建webservice的文章。

    • 编码测试

    本来想用Android做个客户端,然后将测试代码写在android应用程序中。结果发现我将搭载有webservice的gae运行起来之后,利用http://ip:port不能在Android客户单中访问。令人郁闷。浏览器中输入http://localhost:port 居然没有问题,可以正常调用使用。我想肯定在Android中是无法解析localhost.自然无响应。我试图利用本机ip问。结果以在GAE平台上,run之后,只能用http://localhost:port访问,使用ip连不上,我狠郁闷。
    到最后,不得不写了几个测试用例。
    如果你还不知道如何在GAE中搭建单元测试,可以看该文章。http://blog.csdn.net/nndtdx/article/details/6767352

    下面是代码,这里主要测试两个方法,一个是listallbook即get方式提交,另外一个是addbook使用post提交。方法如下

    导入名空间

     


    下边的代码直接是单元测试的几个方法,在于 gaerest项目在一块,所以localhost是可以访问的。

     

     


     

    这里主要是用了Apache提供的几个类。构建不同的请求方式对象,然后调用HttpClient进行执行。不过需要注意,上边很多类在Android中也有提供相同的类,写的时候,注意选择是那个里边的类。
    GET方式很好理解,就是请求一个url即可。Post方式只需要将数据放在请求实体中即可。
    运行单元测试,完美通过。查看输出,可以看到列出的数目已经增加了,说明post方法没有问题。
    接下来还要处理一个gae 的webservice如果在开发阶段,我如何将其发布到本地,使其通过本地ip在模拟器中可以访问呢?思考中。目前就先依赖单元测试吧。

     

    随后会加上Android客户端类的调用。

  • 相关阅读:
    CentOS内核优化提示:cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: 没有那个文件或目录
    CentOS 7使用通过二进制包安装MySQL 5.7.18
    MySQL错误:TIMESTAMP with implicit DEFAULT value is deprecated
    CentOS增加用户到sudo用户组
    Linux下Shell函数返回值实现种类
    Nginx配置直接php
    Nginx报Primary script unknown的错误解决
    CentOS下的apache配置支持php
    CentOS 7解压安装PHP5.6.13
    [ASP.NET MVC] 利用自定义的AuthenticationFilter实现Basic认证
  • 原文地址:https://www.cnblogs.com/linecheng/p/2210953.html
Copyright © 2011-2022 走看看