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");
具体内部实现下班回家在看看- -