我正在使用 C# 构建一个电影 API,其中用户调用我的端点,并根据传递的 id,我的服务器调用电影数据库 API 来获取一些详细信息。
例如:如果用户调用“/movie/id”端点,服务器会获取该 id 并将其传递给 movieDb.Get 方法。
我的主要问题是检索用户在访问我的端点时在 URL 中传递的 id
这就是我一直在尝试的:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/movie/{id}", (id) =>
{
object response = movieDb.Get($"/movie/{id}");
return response;
});
还有我的班级:
public class MovieDB{
public async Task<object> Get(string uri){
try{
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync($"{baseUrl}/{uri}?
{apiKey}");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
return responseBody;
}
catch (Exception){
throw;
}
}
}
当我访问“http://localhost:port/movie/616037”时,我希望看到电影数据库返回到这部电影,但我得到:
“连接被本地主机拒绝”。
如果我强迫并且喜欢
string id = "616037"
然后调用此方法在电影数据库 API 上发送正确的端点,然后返回该电影的详细信息 例如
movieDB.Get($"/movie/{id}")