Skip to content

Commit bdff6ef

Browse files
committed
#81 - Fix Double query param should be toDouble() but is bodyAsClass()
1 parent 9c63b3a commit bdff6ef

File tree

3 files changed

+85
-0
lines changed

3 files changed

+85
-0
lines changed

http-generator-core/src/main/java/io/avaje/http/generator/core/TypeMap.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@ private static void add(TypeHandler h) {
1919
static {
2020
types.put("int", new IntHandler());
2121
types.put("long", new PLongHandler());
22+
types.put("double", new PDoubleHandler());
2223
types.put("float", new PFloatHandler());
2324
types.put("boolean", new BoolHandler());
2425

2526
types.put("java.lang.String", new StringHandler());
2627
types.put("java.lang.Integer", new IntegerHandler());
2728
types.put("java.lang.Long", new LongHandler());
29+
types.put("java.lang.Double", new DoubleHandler());
2830
types.put("java.lang.Float", new FloatHandler());
2931
types.put("java.lang.Boolean", new BooleanHandler());
3032

@@ -123,6 +125,28 @@ static class PFloatHandler extends Primitive {
123125
}
124126
}
125127

128+
static class DoubleHandler extends JavaLangType {
129+
DoubleHandler() {
130+
super("Double");
131+
}
132+
133+
@Override
134+
public String asMethod() {
135+
return "asDouble(";
136+
}
137+
138+
@Override
139+
public String toMethod() {
140+
return "toDouble(";
141+
}
142+
}
143+
144+
static class PDoubleHandler extends Primitive {
145+
PDoubleHandler() {
146+
super("Double");
147+
}
148+
}
149+
126150
static class BooleanHandler extends JavaLangType {
127151
BooleanHandler() {
128152
super("Boolean");
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package io.avaje.http.generator.core;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import static org.assertj.core.api.Assertions.assertThat;
6+
import static org.junit.jupiter.api.Assertions.*;
7+
8+
class TypeMapTest {
9+
10+
@Test
11+
void get_int() {
12+
TypeHandler handler = TypeMap.get("int");
13+
assertThat(handler.asMethod()).isEqualTo("asInt(");
14+
assertTrue(handler.isPrimitive());
15+
}
16+
17+
@Test
18+
void get_Integer() {
19+
TypeHandler handler = TypeMap.get("java.lang.Integer");
20+
assertThat(handler).isInstanceOf(TypeMap.IntegerHandler.class);
21+
assertThat(handler.asMethod()).isEqualTo("asInteger(");
22+
assertFalse(handler.isPrimitive());
23+
}
24+
25+
@Test
26+
void get_double() {
27+
TypeHandler handler = TypeMap.get("double");
28+
assertThat(handler).isInstanceOf(TypeMap.PDoubleHandler.class);
29+
assertThat(handler.asMethod()).isEqualTo("asDouble(");
30+
assertTrue(handler.isPrimitive());
31+
}
32+
33+
@Test
34+
void get_Double() {
35+
TypeHandler handler = TypeMap.get("java.lang.Double");
36+
assertThat(handler).isInstanceOf(TypeMap.DoubleHandler.class);
37+
assertThat(handler.asMethod()).isEqualTo("asDouble(");
38+
assertFalse(handler.isPrimitive());
39+
}
40+
41+
@Test
42+
void get_float() {
43+
TypeHandler handler = TypeMap.get("float");
44+
assertThat(handler).isInstanceOf(TypeMap.PFloatHandler.class);
45+
assertThat(handler.asMethod()).isEqualTo("asFloat(");
46+
assertTrue(handler.isPrimitive());
47+
}
48+
49+
@Test
50+
void get_Float() {
51+
TypeHandler handler = TypeMap.get("java.lang.Float");
52+
assertThat(handler).isInstanceOf(TypeMap.FloatHandler.class);
53+
assertThat(handler.asMethod()).isEqualTo("asFloat(");
54+
assertFalse(handler.isPrimitive());
55+
}
56+
}

tests/test-javalin/src/main/java/org/example/myapp/web/BazController.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,9 @@ List<Baz> searchByName(String name) {
3535

3636
return Arrays.asList(b1, b2);
3737
}
38+
39+
@Get("checkparams/{id}")
40+
String checkParams(int id, String p1, Double p2, Integer p3, Float p4, String body) {
41+
return "dummy-response";
42+
}
3843
}

0 commit comments

Comments
 (0)