HttpClient调用webApi时注意的小问题

时间:2021-03-20 00:24:46

HttpClient client = new HttpClient();

client.BaseAddress = new Uri(thisUrl);

client.GetAsync("api/xx/xx)时

在new Uri的时候:

当thisUrl格式如http://xxxx:xx/xxService/时 实际调用地址是:http://xxxx:xx/xxService/api/xx/xx

当thisUrl格式如http://xxxx:xx/xxService时 调用地址就变成了:http://xxxx:xx/api/xx/xx

这个/的蛋疼可想而知。。。

同时一直有个习惯就是在写GetAsync("api/xx/xx)时的时候习惯写成GetAsync("/api/xx/xx)老是习惯多写个/但实际返回的结果还是http://xxxx:xx/api/xx/xx。。

主要是无意调API的时候蛋疼的遇到了个这么个问题。。

实际拼接的方式就是:

Uri uri1=new Uri(thisUrl);

Uri uri2=new Uri(uri1,"xxx");

具体内部实现下班回家在看看- -