转:http://howtodoinjava.com/2013/05/21/jax-rs-restful-client-using-apache-httpclient/
JAX-RS RESTful client using apache httpclient
public
static
void
demoPostRESTAPI()
throws
Exception
{
DefaultHttpClient httpClient =
new
DefaultHttpClient();
User user =
new
User();
user.setId(
100
);
user.setFirstName(
"Lokesh"
);
user.setLastName(
"Gupta"
);
StringWriter writer =
new
StringWriter();
JAXBContext jaxbContext = JAXBContext.newInstance(User.
class
);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.marshal(user, writer);
try
{
//Define a postRequest request
HttpPost postRequest =
new
HttpPost(
"http://localhost:8080/RESTfulDemoApplication/user-management/users"
);
//Set the API media type in http content-type header
postRequest.addHeader(
"content-type"
,
"application/xml"
);
//Set the request post body
StringEntity userEntity =
new
StringEntity(writer.getBuffer().toString());
postRequest.setEntity(userEntity);
//Send the request; It will immediately return the response in HttpResponse object if any
HttpResponse response = httpClient.execute(postRequest);
//verify the valid error code first
int
statusCode = response.getStatusLine().getStatusCode();
if
(statusCode !=
201
)
{
throw
new
RuntimeException(
"Failed with HTTP error code : "
+ statusCode);
}
}
finally
{
//Important: Close the connect
httpClient.getConnectionManager().shutdown();
}
}
就是关键的
postRequest.addHeader(
"content-type"
,
"application/xml"
);
相关推荐
使用HttpClient4.3版本,使用Springmvc的restful方式访问后台的服务
本主题将深入探讨如何使用`HTTPClient`库来访问启用SSL(Secure Socket Layer)的Quickr REST API。Quickr通常指的是IBM Lotus Quickr,它是一个协作平台,允许用户共享文档、日程和任务。REST API使得开发者可以...
总的来说,这个C#多线程文件下载工具是一个综合性的解决方案,它涵盖了网络通信(通过HTTPClient访问REST API)、多线程下载以提高效率、本地数据存储(使用SQLite)以及文件压缩(使用ZipFile)。这样的工具对于...
本主题将深入探讨如何在Titanium框架中使用HttpClient访问REST服务,这对于构建跨平台的移动应用至关重要。 Titanium是一款JavaScript开发的开源移动应用框架,它允许开发者使用JavaScript编写原生iOS和Android应用...
在"httpClient 访问其他Web 获取信息"这个主题中,我们将深入理解HttpClient的基本用法和关键概念。HttpClient的设计目标是提供一种灵活、高效且可扩展的方式来执行HTTP操作。在实际应用中,我们通常会用它来抓取...
HttpClient适用于各种应用场景,包括调用RESTful API、进行Web服务交互等。 首先,我们需要理解API(Application Programming Interface)的概念。API是一组预定义的函数、对象或协议,允许开发者通过特定的调用来...
Java访问WCF服务是跨平台...以上就是使用Java HttpClient访问WCF服务的基本知识,实际应用中可能需要根据具体服务接口和需求进行调整。文件"java4Wcf"可能包含完整的示例代码或更详细的步骤,建议结合该文件深入学习。
##如何访问服务器通过httpClient对RESTfulAPI进行访问,这里需要注意的是参数和中文编码问题;httpClient.getParams().setContentCharset("UTF-8");以及如何填充参数,这里针对get和post方法分成两种填充方式,一种...
4. **代理服务器**:HttpClient 支持通过代理服务器进行网络访问,适应企业内网环境。 总结,Apache HttpClient 4.5.5 是一个强大且可靠的网络通信工具,它的易用性、灵活性和高性能使其成为 Java 开发者的首选。...
### C# 服务端调用 RestFul Service 的方法 #### 概述 本文档将详细介绍如何使用 C# 创建和调用 RESTful 接口,包括 RESTful 的基本概念、如何构建 RESTful 风格的 API、服务端的具体实现步骤以及客户端如何调用...
在这个工具类中,我们看到包括了Post、Get、Put和Delete四种基本的HTTP方法的实现,这些都是RESTful API中最常见的操作。 1. **Post请求**: 在HTTP中,Post请求通常用于向服务器发送数据,比如注册新用户或提交...
Spring框架的RestTemplate是专门用来简化RESTful服务调用的工具。它封装了HTTP客户端操作,提供了更直观的API。下面是如何使用RestTemplate调用HTTP接口的例子: ```java RestTemplate restTemplate = new ...
- `jersey-apache-client`:为Apache HttpClient提供了绑定,允许你利用HttpClient的特性与RESTful服务交互。 - `jersey-guice`:整合了Google Guice依赖注入框架,使得配置和管理Jersey组件更加容易。 综合这些...
Restful Web Service是一种基于HTTP协议的轻量级Web服务设计风格,它强调资源的状态转移,使得客户端通过简单统一的接口就能访问服务器上的各种资源。在本文中,我们将深入探讨Restful的基本概念、核心原则以及如何...
- RESTful API交互:通过HTTPClient库发起HTTP请求,与远程RESTful服务进行交互,获取或发送JSON格式的数据,这在微服务架构中很常见。 - JSON数据处理:利用JSON解析库,将接收到的JSON字符串转换为Java对象,或者...
在本文中,我们将介绍 Java 调用 Restful API 接口的几种方式,包括使用 HttpClient、OkHttp 和 Unirest 等常见的方法。 使用 HttpClient 调用 Restful API 接口 HttpClient 是 Apache 的一个开源项目,提供了一个...
5. **认证**:HttpClient支持多种认证机制,如Basic认证、Digest认证等,这对于访问受保护的Web服务非常重要。 6. **代理支持**:通过配置,HttpClient可以经过代理服务器进行网络通信。 在实际应用中,开发者通常...
综上所述,通过WCF实现RESTful服务不仅可以实现服务端与客户端的分离,还能通过简单的HTTP URL访问,极大地提高了系统的灵活性和可维护性。同时,合理的异常处理和权限控制机制也是保证服务稳定性和安全性的关键因素...
例如,在Web服务客户端中,它可以方便地调用RESTful API;在数据抓取中,它可以灵活地处理各种网页和API的访问。 总结,Apache Commons HttpClient 3.1是Java开发中处理HTTP请求的强大工具,它通过丰富的API和组件...