1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.rest.annotation;
18
19 import org.apache.juneau.*;
20 import org.apache.juneau.collections.*;
21 import org.apache.juneau.http.annotation.*;
22 import org.apache.juneau.rest.mock.*;
23 import org.junit.jupiter.api.*;
24
25 class Rest_AllowContentParam_Test extends TestBase {
26
27
28
29
30
31 @Rest(disableContentParam="false")
32 public static class A1 {
33 @RestOp
34 public JsonMap put(@Content JsonMap body) {
35 return body;
36 }
37 }
38 @Rest(disableContentParam="true")
39 public static class A2 {
40 @RestOp
41 public JsonMap put(@Content JsonMap body) {
42 return body;
43 }
44 }
45 @Rest(disableContentParam="true")
46 public static class A3 extends A1 {}
47
48 @Rest(disableContentParam="false")
49 public static class A4 extends A2 {}
50
51 @Test void a01_basic() throws Exception {
52 var a1 = MockRestClient.build(A1.class);
53 a1.put("/", "{a:'b'}").run().assertContent("{a:'b'}");
54 a1.put("/?content=(c=d)", "{a:'b'}").run().assertContent("{c:'d'}");
55
56 var a2 = MockRestClient.build(A2.class);
57 a2.put("/", "{a:'b'}").run().assertContent("{a:'b'}");
58 a2.put("/?content=(c=d)", "{a:'b'}").run().assertContent("{a:'b'}");
59
60 var a3 = MockRestClient.build(A3.class);
61 a3.put("/", "{a:'b'}").run().assertContent("{a:'b'}");
62 a3.put("/?content=(c=d)", "{a:'b'}").run().assertContent("{a:'b'}");
63
64 var a4 = MockRestClient.build(A4.class);
65 a4.put("/", "{a:'b'}").run().assertContent("{a:'b'}");
66 a4.put("/?content=(c=d)", "{a:'b'}").run().assertContent("{c:'d'}");
67 }
68 }