rest - Rest API Post 带参数获取搜索结果
问题描述
我在 Xamarin Forms 中并对 API 进行休息调用,我对此并不陌生。我想发送我的搜索参数,即:
{ "busObIds": [
"8102508"], "searchText": "John"}
(这是原始 JSON 格式)到 API 端点:
var client = new RestClient("http://localhost/NameAPI/api/V1/getquicksearchresults");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer " + bearer);
我还有一个我需要申请的授权持有人。我在这个过程中磕磕绊绊,不知道如何正确地做到这一点,因为我在 Postman 中被展示了如何做,但目前无法将其转换为我在 Visual Studio Xamarin Forms 中的项目。如果可以的话,请帮忙。
- 那么我这样做对吗?
- 我需要在模型类中序列化我的 JSON 吗?
- 我是发布还是获取?正如它所说的POST,但我不相信我做得对。
- 我是否在 AddHeader 中发布我的参数?
无论如何提前谢谢你。
更新:
var _client = new RestClient("http://localhost/NameAPI/api/V1/getquicksearchresults");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Authorization", "Bearer " + bearer);
request.AddParameter("busObIds", "8102508");
request.AddParameter("searchText", "John");
IRestResponse response = _client.Execute(request);
var jsonData = response.Content;
var jsonObj = JsonConvert.DeserializeObject<CiResponse>(jsonData);
this.CiList = new ObservableCollection<CiItem>();
if (null != jsonObj && jsonObj.Types != null && jsonObj.Types.Count > 0)
{
foreach (var item in jsonObj.Types)
this.CIList.Add(new CiItem
{
PublicId = item.PublicId,
SubTitle = item.SubTitle,
Text = item.Text,
Title = item.Title
});
}
运行时,我没有任何迹象表明它不正确,但屏幕上没有显示输出。