如何在Java客户端调用RESTful服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java客户端调用RESTful服务相关的知识,希望对你有一定的参考价值。

public static void main(String[] args) Store store = new Store();// 准备参数 // 首先创建一个webservice客户端,参数依次为:webservice的url, webservice的名称, webservice的方法, 参数列表, 返回类型, 泛型的类型(不需要泛型就传入null) WebserviceClient client = new WebserviceClient(", "store", "find", new Object[] store , List.class, Store.class); List<Store> list = client.execute();// 调用webservice System.out.println("从服务器返回" + list.size() + "个商品");// 得到了服务端返回的数据 参考技术A public static void main(String[] args) Store store = new Store();// 准备参数 // 首先创建一个webservice客户端,参数依次为:webservice的url, webservice的名称, webservice的方法, 参数列表, 返回类型, 泛型的类型(不需要泛型就传入null) WebserviceClient client = new WebserviceClient(", "store", "find", new Object[] store , List.class, Store.class); List<Store> list = client.execute();// 调用webservice System.out.println("从服务器返回" + list.size() + "个商品");// 得到了服务端返回的数据

如何从 android 调用 RESTful Web 服务?

【中文标题】如何从 android 调用 RESTful Web 服务?【英文标题】:how to call RESTful web service from android? 【发布时间】:2011-08-28 03:11:34 【问题描述】:

我使用 jersey 框架和 java 在 netbean IDE 中编写了 REST Web 服务。对于每个请求用户都需要提供用户名和密码,我知道身份验证不好。 使用 curl 命令,如: curl -u 用户名:密码 -X PUT http://localhsot:8080/user

现在我想从 android 类调用 REST Web 服务。我应该写什么?我是安卓新手。我有一个使用 DefaultHttpClient 和 CredentialUsernameAndPassword 的 android 类。 但是当我在 Eclipse 中运行时,有时会出现运行时异常或 sdk 异常。

有人给我示例代码和建议吗?

谢谢

【问题讨论】:

重复? ***.com/questions/297586/… 【参考方案1】:

您使用基本身份验证吗?如果是这样:使用它。

if (username != null && password != null) 
            client.getCredentialsProvider().setCredentials(
                    new AuthScope(null, -1),
                    new UsernamePasswordCredentials(username, password));
        

或者您可以将它们添加到标题中作为 setHeader("Authentication", "Basic "+Base64EncodedString(username,pass);

您正在做的是使用代理身份验证。为什么?

这篇文章也可能会有所帮助:

link

-u 也代表 ntlm 授权,所以也可以考虑一下。有一些主题说它不支持 android 或其他东西,但我相信如果你需要它,你可以做一个解决方法。

【讨论】:

以上是关于如何在Java客户端调用RESTful服务的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中使用 RESTful Web 服务获取远程/客户端 IP 地址?

在java中为一次调用执行两次Restful Web服务

如何通过http客户端强制调用restful服务?

如何从 RESTful 服务发送安全令牌?

Jhipster微服务Java客户端api调用报错

使用 WCF 客户端访问 RESTful 服务时访问 HTTP 状态代码