我正在学习使用.NET核心创建一个web api,我遵循了这个文档。
https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-2.1
我已经开始了一个新的项目,这是我的代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
namespace FortniteAPI.Controllers
{
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
public string Get()
{
return "https://api.fortnitetracker.com/v1/profile/{platform}/{nickname}";
}
// GET api/values/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
}
}
我正在使用此网站上的数据作为我的网络API https://www.fortnitetracker.com/
API链接需要两个参数,即平台和昵称。我使用了自己的信息,但是当我启动应用程序时,我看不到数据。
我还有一个标题键可以使用它,这在文档中显示。
要使用API密钥,您需要将其作为标题与您的请求一起传递。
我真的不明白这句话。
此外,我正在使用Ionic 3进行编程,并且我使用了这个api链接和HTTP get,但由于CORS,它无法正常工作。这就是我使用.NET核心应用程序与客户端交谈的原因。
有人能指出我正确的方向吗?
更新
[HttpGet]
public string Get()
{
HttpClient http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("APIKEY", header);
var data = http.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
return data;
}
答案 0 :(得分:2)
请将此代码放入您的方法中,如果您还需要更多信息,请告诉我。
HttpClient http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "Your Oauth token");
var data = http.PostAsync("Your Url", new StringContent("Data", Encoding.UTF32, "text/xml")).Result.Content.ReadAsStringAsync().Result;
//for calling get
var data2=http.GetAsync("").Result.Content.ReadAsStringAsync().Result;
答案 1 :(得分:2)
修复它感谢您的支持!
[HttpGet]
public string Get()
{
HttpClient http = new HttpClient();
http.DefaultRequestHeaders.Add(schemename, header);
var data = http.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
return data;
}