|
1 | 1 | using Cysharp.Web;
|
2 |
| -using Refit; |
3 | 2 | using System.Net.Http.Json;
|
4 | 3 | using System.Runtime.Serialization;
|
5 | 4 | using System.Text;
|
6 | 5 |
|
7 |
| -var httpClient = new HttpClient { BaseAddress = new Uri("http://localhost:5000") }; |
| 6 | +//var httpClient = new HttpClient { BaseAddress = new Uri("http://localhost:5000") }; |
8 | 7 | //var api = RestService.For<IMinimumAPI>(client);
|
9 | 8 | //await api.Get(10, "octocat");
|
10 | 9 |
|
| 10 | +System.Globalization.CultureInfo.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; |
| 11 | +Console.WriteLine(System.Globalization.CultureInfo.CurrentCulture); |
11 | 12 |
|
| 13 | +var a = System.Text.Encodings.Web.UrlEncoder.Default.Encode("hoge and 日本語 japanese"); |
| 14 | +var b = System.Text.Encodings.Web.UrlEncoder.Default.Encode(a); |
| 15 | +//Console.WriteLine(b); |
12 | 16 |
|
| 17 | +var req = new PagingRequest |
| 18 | +{ |
| 19 | + SortDirection = SortDirection.Default, |
| 20 | + CurrentPage = 10, |
| 21 | + SortBy = "hoge and 日本語 japanese" |
| 22 | +}; |
| 23 | + |
| 24 | +var nullreq = new PagingRequest |
| 25 | +{ |
| 26 | + SortDirection = SortDirection.Asc, |
| 27 | + CurrentPage = 8888, |
| 28 | + SortBy = null |
| 29 | +}; |
| 30 | + |
| 31 | +var one = WebSerializer.ToQueryString(req); |
| 32 | +var two = WebSerializer.ToQueryString("/hogemoge", req); |
| 33 | +var three = WebSerializer.ToQueryString(nullreq); |
| 34 | +var four = WebSerializer.ToQueryString("/hogemoge", nullreq); |
13 | 35 |
|
14 |
| -//var q = WebSerializer.ToQueryString(req); |
15 | 36 |
|
16 |
| -var tweet = new Tweet("foo", DateTimeOffset.Now.ToUnixTimeSeconds()); |
17 |
| -var user = new User(1999, "baz"); |
| 37 | +Console.WriteLine(one); |
18 | 38 |
|
19 | 39 |
|
20 |
| -// use writer instead of StringBuilder |
21 |
| -var writer = new WebSerializerWriter(); |
| 40 | +////var q = WebSerializer.ToQueryString(req); |
22 | 41 |
|
23 |
| -writer.NamePrefix = "tweet."; // set prefix by writer. |
24 |
| -WebSerializer.ToQueryString(writer, tweet); // serialize to writer |
| 42 | +//var tweet = new Tweet("foo", DateTimeOffset.Now.ToUnixTimeSeconds()); |
| 43 | +//var user = new User(1999, "baz"); |
25 | 44 |
|
26 |
| -writer.AppendConcatenate(); // Append '&' |
27 | 45 |
|
28 |
| -writer.NamePrefix = "user."; |
29 |
| -WebSerializer.ToQueryString(writer, user); |
| 46 | +//// use writer instead of StringBuilder |
| 47 | +//var writer = new WebSerializerWriter(); |
30 | 48 |
|
31 |
| -var q = writer.GetStringBuilder().ToString(); // get inner stringbuilder. |
| 49 | +//writer.NamePrefix = "tweet."; // set prefix by writer. |
| 50 | +//WebSerializer.ToQueryString(writer, tweet); // serialize to writer |
32 | 51 |
|
33 |
| -// tweet.created=1641816933&tweet.msg=foo&user.id=1999&user.name=baz |
34 |
| -Console.WriteLine(q); |
| 52 | +//writer.AppendConcatenate(); // Append '&' |
| 53 | + |
| 54 | +//writer.NamePrefix = "user."; |
| 55 | +//WebSerializer.ToQueryString(writer, user); |
| 56 | + |
| 57 | +//var q = writer.GetStringBuilder().ToString(); // get inner stringbuilder. |
| 58 | + |
| 59 | +//// tweet.created=1641816933&tweet.msg=foo&user.id=1999&user.name=baz |
| 60 | +//Console.WriteLine(q); |
35 | 61 |
|
36 | 62 |
|
37 | 63 |
|
38 | 64 |
|
39 | 65 |
|
40 | 66 | // ----
|
41 | 67 |
|
| 68 | + |
| 69 | +public class PagingRequest |
| 70 | +{ |
| 71 | + |
| 72 | + [DataMember(Order = 1)] |
| 73 | + public string? SortBy { get; init; } |
| 74 | + [DataMember(Order = 2)] |
| 75 | + public SortDirection SortDirection { get; init; } |
| 76 | + [DataMember(Order = 0)] |
| 77 | + public int CurrentPage { get; init; } = 1; |
| 78 | +} |
| 79 | + |
| 80 | + |
| 81 | + |
42 | 82 | public record Tweet(string? msg, long created);
|
43 | 83 | public record User(long id, string? name);
|
44 | 84 |
|
|
0 commit comments