Skip to content

Commit fd5afd0

Browse files
laurentiudmaibin
authored andcommitted
BAEL-2924 Jersey request parameters (eugenp#7007)
* BAEL-2924 Jersey request parameters * BAEL-2924 Jersey request parameters
1 parent ef9f687 commit fd5afd0

4 files changed

Lines changed: 154 additions & 1 deletion

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package com.baeldung.jersey.server;
2+
3+
import javax.ws.rs.FormParam;
4+
import javax.ws.rs.HeaderParam;
5+
import javax.ws.rs.PathParam;
6+
7+
public class ItemParam {
8+
9+
@HeaderParam("headerParam")
10+
private String shopKey;
11+
12+
@PathParam("pathParam")
13+
private String itemId;
14+
15+
@FormParam("formParam")
16+
private String price;
17+
18+
public String getShopKey() {
19+
return shopKey;
20+
}
21+
22+
public void setShopKey(String shopKey) {
23+
this.shopKey = shopKey;
24+
}
25+
26+
public String getItemId() {
27+
return itemId;
28+
}
29+
30+
public void setItemId(String itemId) {
31+
this.itemId = itemId;
32+
}
33+
34+
public String getPrice() {
35+
return price;
36+
}
37+
38+
public void setPrice(String price) {
39+
this.price = price;
40+
}
41+
42+
@Override
43+
public String toString() {
44+
return "ItemParam{shopKey='" + shopKey + ", itemId='" + itemId + ", price='" + price + '}';
45+
}
46+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package com.baeldung.jersey.server;
2+
3+
import javax.ws.rs.*;
4+
5+
@Path("items")
6+
public class Items {
7+
8+
@GET
9+
@Path("/cookie")
10+
public String readCookieParam(@CookieParam("cookieParamToRead") String cookieParamToRead) {
11+
return "Cookie parameter value is [" + cookieParamToRead + "]";
12+
}
13+
14+
@GET
15+
@Path("/header")
16+
public String readHeaderParam(@HeaderParam("headerParamToRead") String headerParamToRead) {
17+
return "Header parameter value is [" + headerParamToRead + "]";
18+
}
19+
20+
@GET
21+
@Path("/path/{pathParamToRead}")
22+
public String readPathParam(@PathParam("pathParamToRead") String pathParamToRead) {
23+
return "Path parameter value is [" + pathParamToRead + "]";
24+
}
25+
26+
@GET
27+
@Path("/query")
28+
public String readQueryParam(@QueryParam("queryParamToRead") String queryParamToRead) {
29+
return "Query parameter value is [" + queryParamToRead + "]";
30+
}
31+
32+
@POST
33+
@Path("/form")
34+
public String readFormParam(@FormParam("formParamToRead") String formParamToRead) {
35+
return "Form parameter value is [" + formParamToRead + "]";
36+
}
37+
38+
@GET
39+
@Path("/matrix")
40+
public String readMatrixParam(@MatrixParam("matrixParamToRead") String matrixParamToRead) {
41+
return "Matrix parameter value is [" + matrixParamToRead + "]";
42+
}
43+
44+
@POST
45+
@Path("/bean/{pathParam}")
46+
public String readBeanParam(@BeanParam ItemParam itemParam) {
47+
return itemParam.toString();
48+
}
49+
}

jersey/src/main/java/com/baeldung/jersey/server/http/EmbeddedHttpServer.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@
77

88
import org.glassfish.grizzly.http.server.HttpServer;
99
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
10+
import org.glassfish.jersey.server.ResourceConfig;
1011

1112
import com.baeldung.jersey.server.config.ViewApplicationConfig;
1213

1314
public class EmbeddedHttpServer {
1415

15-
private static final URI BASE_URI = URI.create("http://localhost:8082/");
16+
public static final URI BASE_URI = URI.create("http://localhost:8082/");
1617

1718
public static void main(String[] args) {
1819
try {
@@ -32,4 +33,9 @@ public static void main(String[] args) {
3233
}
3334

3435
}
36+
37+
public static HttpServer startServer() {
38+
final ResourceConfig rc = new ResourceConfig().packages("com.baeldung.jersey.server");
39+
return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI.toString()), rc);
40+
}
3541
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.baeldung.jersey.server;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import javax.ws.rs.client.ClientBuilder;
6+
import javax.ws.rs.client.WebTarget;
7+
8+
import org.glassfish.grizzly.http.server.HttpServer;
9+
10+
import org.junit.After;
11+
import org.junit.Before;
12+
import org.junit.Test;
13+
14+
import com.baeldung.jersey.server.http.EmbeddedHttpServer;
15+
16+
public class ItemsUnitTest {
17+
18+
private HttpServer server;
19+
private WebTarget target;
20+
21+
@Before
22+
public void setUp() throws Exception {
23+
server = EmbeddedHttpServer.startServer();
24+
target = ClientBuilder.newClient().target(EmbeddedHttpServer.BASE_URI.toString());
25+
}
26+
27+
@After
28+
public void tearDown() throws Exception {
29+
server.stop();
30+
}
31+
32+
@Test
33+
public void givenCookieParameter_whenGet_thenReturnsExpectedText() {
34+
String paramValue = "1";
35+
String responseText = target.path("items/cookie").request().cookie("cookieParamToRead", paramValue).get(String.class);
36+
assertEquals("Cookie parameter value is [" + paramValue + "]", responseText);
37+
}
38+
39+
@Test
40+
public void givenHeaderParameter_whenGet_thenReturnsExpectedText() {
41+
String paramValue = "2";
42+
String responseText = target.path("items/header").request().header("headerParamToRead", paramValue).get(String.class);
43+
assertEquals("Header parameter value is [" + paramValue + "]", responseText);
44+
}
45+
46+
@Test
47+
public void givenPathParameter_whenGet_thenReturnsExpectedText() {
48+
String paramValue = "3";
49+
String responseText = target.path("items/path/" + paramValue).request().get(String.class);
50+
assertEquals("Path parameter value is [" + paramValue + "]", responseText);
51+
}
52+
}

0 commit comments

Comments
 (0)