`
- 浏览:
31432 次
-
继昨天学习的jersey简单使用,今天进行了稍微深入一点的学习。
jersey客户端调用webresources的get服务。
jersey 相关jar的加入,web.xml的里面的配置,在上一篇 jersey 简单学习中已经有介绍。这里我们就直接分析服务端和客户端代码了。
我的服务地址: http://localhost:8080/jerseydemo
server端:包名依然是
cn.thinkjoy.jerseydemo.resources;
类名: HelloWorldRs
package cn.thinkjoy.jerseydemo.resources;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
@Path("{helloWorldRs}")
public class HelloWorldRs {
Map<String, String> map = new HashMap<String, String>();
public HelloWorldRs() {
map.put("1", "111");
map.put("2", "222");
map.put("3", "333");
}
@GET
@Path("/sayHello")
@Produces(MediaType.TEXT_PLAIN)
public String sayHelloByGet(@QueryParam("from") String fromValue,
@Context HttpServletRequest request) {
System.out.println(fromValue);
return "hello world " + map.get(fromValue);
}
}
客户端:package cn.thinkjoy.jerseydemo.client;
import javax.ws.rs.core.MultivaluedMap;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class JerseyClient {
//因为我在web.xml中配置的请求匹配是 /rest/*
//所以这里到项目的目录jerseydemo后需要加上 /rest
String url = "http://localhost:8080/jerseydemo/rest";
public static void main(String[] args) {
new JerseyClient().sayHelloTest();
}
public void sayHelloTest(){
//创建一个默认的client
Client client = Client.create();
//创建webresource
WebResource webResource = client.resource(url+"/helloWorldRs/sayHello");
//添加请求需要的参数
MultivaluedMap<String, String> queryParam= new MultivaluedMapImpl();
queryParam.add("from", "1");
String str = webResource.queryParams(queryParam).get(String.class);
System.out.println(str);
}
}
启动服务端之后,运行客户端程序,即得到答案:hello world 111
同样在浏览器上试一下:http://localhost:8080/jerseydemo/rest/helloWorldRs/sayHello?from=1
也得到答案: hello world 111
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
入门项目定义了一个简单的/ping资源,该资源可以通过其测试接受GET请求。 项目文件夹还包括template.yml文件。 您可以使用此文件将项目部署到AWS Lambda和Amazon API Gateway或使用在本地进行测试。 先决条件 或 ...
cors-proxy 基于Java Jersey的CORS代理绕过javascript跨域请求限制关于由于浏览器实施的CORS限制,来自浏览器的Javascript无法访问来自其他域的资源。 该Web代理将绕过这些限制。环境Java 1.7以上Tomcat 7以上用法在...
它的简单之处在于它可以借助HTTP方法(例如GET,POST,PUT和DELETE)发送请求。 我使用Jersey和Maven创建了一个JAX-RS示例。 Jersey是一个开放源代码框架,提供了可以轻松开发和运行JAX-RS的API。 Maven是可帮助...
Jersey 2 REST客户端-使用Jersey 2 api开发REST api客户端,以调用GET / PUT / POST请求+ JSON主体作为Java对象POJO 此示例演示了如何使用Jersey 1 api创建REST客户端以及如何将JSON正文作为Java对象POJO发送POST...
比如apache的httpClient包,非常优秀的Okhttp,jersey client。 这些http开源框架的接口使用相对来说,都不太一样。不管选哪个,在我这个场景里来说,我都不希望在调用每个第三方的http api时写上一堆http调用代码...
springboot-jersey-example 使用Spring Boot和Jersey的REST服务示例。 包括 使用Spring Data JPA的DB-Access 使用JUnit 4进行单元测试 使用Spring Security使用自定义身份验证提供程序保护API 外部化的YAML配置 ...
vertx-jersey-webapp 创建 JAX-RS jersey 资源的示例,这些资源将处理对 vert.x 的传入 http 请求。入门###执行#####vertex-jersey-webapp>mvn 全新安装命令将构建模块并在目标文件夹中准备分发 zip“vertx-...
宁静的球衣REST概述REST是在考虑SOAP痛苦的基础上构建的,基于HTTP Services的原理可以返回: XML格式JSON格式HTML 纯文本二进制/八位字节HTTP [GET]请求用@GET注释映射是通过@Path定义的URL是通过我们的上下文/ ...
vertx-jersey.zip,允许创建jax-rs jersey资源,该资源将处理到vert.x中vert.xrun jersey的传入http请求
一个简单的HTTP API,通过域驱动的设计,Hexagonal Architecture,Spring和Jersey实现。 请求中发送的消息会在响应中回显。 此外,该项目还展示了流水线功能。 有关详细信息,请参见我们的配套文章 。
jersey-rest-demo readme 测试1 返回 Hello Jersey jersey-rest-demo 增删改查 工程地址: 源代码: ...GET 语法 链接 Header参数 Accept : application/json 返回的json { "id": "abc", "name": "123
Dropwizard原型玩Dropwizard框架。 一个示例应用程序演示了Dropwizard如何无缝集成和实例化-Jetty服务器,RESTful Web服务的jersey框架,JSON的Jackson以及指标库。... HTTP请求映射到Java对象。 Jackson for JSON
mephisto-jersey-client Jersey 客户端过滤器,根据给定的 API 合同验证请求和响应。用例1. 验证我们的 API 文档是否与 API 更改一起更新在我们自己的服务的集成测试中,我们可以验证我们对服务进行的所有 HTTP ...
Feign是一个Java到HTTP客户端绑定程序,其主要... Feign使用了诸如Jersey和CXF之类的出色工具来为ReST或SOAP服务编写Java客户端。 它还使您可以在http库的顶部编写自己的代码,并以很少的开销将代码连接到http API。
客户端应用使用HTTP方法(如,GET、POST、PUT或DELETE)来操作一个或多个资源。通常,GET是用于获取或列出一个或多个资源,POST用于创建,PUT用于更新或替换,而DELETE则用于删除资源。 例如,GET ...
Feign使用Jersey和CXF之类的工具为ReST或SOAP服务编写Java客户端。 此外,Feign允许您在诸如Apache HC之类的http库之上编写自己的代码。 Feign通过可定制的解码器和错误处理功能,以最小的开销和代码将代码连接到...
此外,Feign允许您在诸如Apache HC之类的http库之上编写自己的代码。 Feign通过可自定义的解码器和错误处理功能,以最小的开销和代码将代码连接到http API,可以将其写入任何基于文本的http API。 Feign如何工作? ...
REST入门知识及实例开发,涵盖REST设计原则,资源识别方法,在Jersey下开发RESTful webservice实现转账业务,包括服务端,客户端源码,详细阐述HTTP的4个请求方法(GET,POST,PUT,DELETE)在REST中的应用,使你...
当前支持以下功能: 发送消息并将其发布到事件总线异步地将响应发送回发出请求的客户端限制邮件发送或发布到的地址的能力怎么跑首先使用Maven构建模块并将其安装到本地存储库(如果从源构建): mvn clean install ...
Inproctester在后台使用了码头,但是它允许绕过任何套接字和http层直接将请求分发到正在测试的Web应用程序。 注意球衣 Inproctester提供了jersey-client实现,该实现允许将请求直接分派到打包为j2ee Web应用程序的...