1. 配置请求体中的Json字符串
1 2 3 4
| request_data = new RequestBodyClass(); request_data.a = "Json第一个字段"; request_data.b = "Json第二个字段"; string body = JsonUtility.ToJson(request_data);
|
2. 实例化HTTPRequest
请求头方法设置为POST,并且设置请求头中类型为json,请求类型有误可能会导致后端报错;使用RawData配置请求体内容。
1 2 3 4 5 6
| request = new HTTPRequest(new Uri("http://localhost:8080/queryTest"), HTTPMethods.Post, RequestHandle); request.RawData = Encoding.UTF8.GetBytes(body); request.SetHeader("Content-Type", "application/json"); request.Send();
|
3. 配置回调函数RequestHandle
其中response的Data字段为响应体字节流,使用JsonConvert进行解包,注意类中的字段和Json中字段名要完全相同,Json中的数组在类中也对应为数组,二维数组则继续套娃。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| private void RequestHandle(HTTPRequest originalrequest, HTTPResponse response) { string resStr = Encoding.UTF8.GetString(response.Data); Request_Data res = JsonConvert.DeserializeObject<Request_Data>(resStr); }
public class Resquest_Data { public int num_People; public People[] people; } public class People { public string name; public int num_Children; public Children[] children; } public class Children { public string name; }
|
4. 注意问题:
1.请求头里的类型要配置对,否则后端可能不能返回值
2.如果Http请求选择保持连接,TCP连接也会在9次请求后自动断开,之后会有报错,注意再次建立连接或者每次请求都重新创建链接。
Author:
mxwu
Permalink:
https://mingxuanwu.com/2023/07/04/202307041158/
License:
Copyright (c) 2023 CC-BY-NC-4.0 LICENSE