Skip to content

Commit cbdf070

Browse files
committed
Fix dates via GET as per #10 + add test
Still need to pull up web service on or accessible via CI server running latest SS version for more tests. Tested locally.
1 parent c8211c8 commit cbdf070

File tree

3 files changed

+86
-1
lines changed

3 files changed

+86
-1
lines changed

src/AndroidClient/client/src/main/java/net/servicestack/client/JsonServiceClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public String createUrl(Object requestDto, Map<String,String> query){
100100
sb.append(sb.length() == 0 ? "?" : "&");
101101
sb.append(URLEncoder.encode(f.getName(), "UTF-8"));
102102
sb.append("=");
103-
sb.append(URLEncoder.encode(Utils.stripQuotes(val.toString()), "UTF-8"));
103+
sb.append(URLEncoder.encode(Utils.stripQuotes(getGson().toJson(val)), "UTF-8"));
104104
}
105105

106106
if (query != null) {

src/AndroidClient/client/src/test/java/net/servicestack/client/tests/JsonServiceClientTests.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import net.servicestack.client.tests.dto.*;
1111

1212
import java.net.HttpURLConnection;
13+
import java.util.Calendar;
14+
import java.util.Date;
1315

1416
public class JsonServiceClientTests extends TestCase {
1517

@@ -64,4 +66,21 @@ public void exec(HttpURLConnection conn) {
6466
// assertTrue(passTest);
6567
// }
6668

69+
// public void test_can_serialize_dates_correctly_via_get_request() {
70+
// JsonServiceClient client = new JsonServiceClient("http://localhost:65109/");
71+
//
72+
// testDateDtos.MyGetRequest request = new testDateDtos.MyGetRequest();
73+
// Calendar cal = Calendar.getInstance();
74+
// cal.set(Calendar.YEAR, 2015);
75+
// cal.set(Calendar.MONTH, Calendar.JANUARY);
76+
// cal.set(Calendar.DAY_OF_MONTH, 1);
77+
// Date dateRepresentation = cal.getTime();
78+
// Date date = dateRepresentation;
79+
//
80+
// request.setDate(date);
81+
// testDateDtos.MyGetRequestResponse response = client.get(request);
82+
// assertTrue(response != null);
83+
// assertEquals(request.getDate(),response.getResult());
84+
// }
85+
6786
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/* Options:
2+
Date: 2015-11-12 14:13:51
3+
Version: 4.046
4+
BaseUrl: http://localhost:65109
5+
6+
Package: net.servicestack.client.tests
7+
GlobalNamespace: testDateDtos
8+
//AddPropertyAccessors: True
9+
//SettersReturnThis: True
10+
//AddServiceStackTypes: True
11+
//AddResponseStatus: False
12+
//AddImplicitVersion:
13+
//IncludeTypes:
14+
//ExcludeTypes:
15+
//TreatTypesAsStrings:
16+
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*
17+
*/
18+
19+
package net.servicestack.client.tests;
20+
21+
import java.math.*;
22+
import java.util.*;
23+
import net.servicestack.client.*;
24+
25+
public class testDateDtos
26+
{
27+
28+
@Route("/hello/{Name}")
29+
public static class Hello implements IReturn<HelloResponse>
30+
{
31+
public String Name = null;
32+
33+
public String getName() { return Name; }
34+
public Hello setName(String value) { this.Name = value; return this; }
35+
private static Object responseType = HelloResponse.class;
36+
public Object getResponseType() { return responseType; }
37+
}
38+
39+
@Route("/testing")
40+
public static class MyGetRequest implements IReturn<MyGetRequestResponse>
41+
{
42+
public Date Date = null;
43+
44+
public Date getDate() { return Date; }
45+
public MyGetRequest setDate(Date value) { this.Date = value; return this; }
46+
private static Object responseType = MyGetRequestResponse.class;
47+
public Object getResponseType() { return responseType; }
48+
}
49+
50+
public static class HelloResponse
51+
{
52+
public String Result = null;
53+
54+
public String getResult() { return Result; }
55+
public HelloResponse setResult(String value) { this.Result = value; return this; }
56+
}
57+
58+
public static class MyGetRequestResponse
59+
{
60+
public Date Result = null;
61+
62+
public Date getResult() { return Result; }
63+
public MyGetRequestResponse setResult(Date value) { this.Result = value; return this; }
64+
}
65+
66+
}

0 commit comments

Comments
 (0)