flutter 网络请求-Dio
  sX9JkgY3DY86 2023年11月13日 16 0

get请求

1.get请求不带参数

[HttpGet]
public string g1()
{
return "abc";
}

 

() async {
try {
Response response = await dio.get("https://127.0.0.1:5001/test/g1");
print(response.data);
} catch (e) {
print(e);
}
}();

 

2.get请求带参数

[HttpGet]
public string g2(int a,string str)
{
return a.ToString()+str;
}

 

Response response = await dio.get("https://127.0.0.1:5001/test/g2?a=3&str=abc");

或者

Response response = await dio.get("https://127.0.0.1:5001/test/g2",queryParameters: {"a":3,"str":"abc"});

 或者

var data={'a':3,'str':'tom'};
() async {
try {
Response response = await dio.get("https://127.0.0.1:5001/test/g2",queryParameters:data);
print(response.data);
} catch (e) {
print("打印:"+e.toString());
}
}();

 

3.

[HttpGet]
public string g3(Student student)
{
return student.name;
}

 

传参数时,需要写在body里,get的body不推荐。

 

 

Post请求

1.post无参数

[HttpPost]
public string p1()
{
return "abc";
}

 

Response response = await dio.post("https://127.0.0.1:5001/test/p1");

 

2.一个body参数

[HttpPost]
public string p2([FromBody] string str)
{
return str;
}

 

 

 

3.参数是一个类对象

[HttpPost]
public string p3([FromBody] Student student)
{
return student.name;
}

 

Response response = await dio.post("https://127.0.0.1:5001/test/p3",data: {"age":3,"name":"tom"});

 

4.参数是一个数组

[HttpPost]
public string p4(string[] arr)
{
string str = "";
foreach (var a in arr)
{
str += a;
}
return str;
}

 

List list=["a","b","c"];

Response response = await dio.post("https://127.0.0.1:5001/test/p4",data: list);

 

 5. list对象集合

[HttpPost]
public string p5(List<Student> list)
{
string str = "";
foreach (var stu in list)
{
str += stu.name;
}
return str;
}

 

String str = '[{"age":18,"name":"tom"},{"age":22,"name":"liu"}]';

Response response = await dio.post("https://127.0.0.1:5001/test/p5", data: str);

 

6.传对象和参数混合

[HttpPost]
public string p6(List<Student> list,string a,string b)
{
string str = "";
foreach (var stu in list)
{
str += stu.name;
}
return str+a+b;
}

 

String str = '[{"age":18,"name":"tom"},{"age":22,"name":"liu"}]';
var str2={"a":"q","b":"w"};

Response response = await dio.post("https://127.0.0.1:5001/test/p6",queryParameters: str2, data: str);

 

7.表单

[HttpPost]
public string p7([FromForm] Student student)
{
return student.name;
}

 

FormData form=FormData.fromMap({"name": "tom", "age": 25,});

Response response = await dio.post("https://127.0.0.1:5001/test/p7",data:form);

 

 

访问https

Dio dio=Dio();
//使用https,忽略签名
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
client.badCertificateCallback=(X509Certificate cert, String host, int port){
return true;
};
};
() async {
try {
Response response = await dio.get("https://127.0.0.1:5001/test/g1");
print(response);
} catch (e) {
print(e);
}
}();

加证书

String PEM="XXXXX"; // certificate content
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
client.badCertificateCallback=(X509Certificate cert, String host, int port){
if(cert.pem==PEM){ // Verify the certificate
return true;
}
return false;
};
};

 



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  ckHWW4G1YMhd   2023年11月13日   15   0   0 bcoracle
  gAerolsDGla4   2023年11月13日   13   0   0 svnListGo
  sX9JkgY3DY86   2023年11月13日   17   0   0 ideTextList
  sX9JkgY3DY86   2023年11月13日   17   0   0 bcget请求List
  WfuqbRz7OUwd   2023年11月13日   19   0   0 bc软连接java
sX9JkgY3DY86