#c# #asp.net-core #httpclient
#c# #asp.net-core #httpclient
Вопрос:
Как и в описании, я создал веб-сайт, на котором представлены некоторые API:
Startup.cs настраивается следующим образом:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{id}");
});
}
Единственный контроллер (именованный Controller
) имеет следующее:
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "Hello", "World" };
}
[HttpGet("{incomingString}")]
public string GetString(string incomingString)
{
return incomingString;
}
Когда я запускаю проект, страница http://localhost:60026/Controller
открывается и Get()
вызывается.
Для запуска GetString
я должен добавить /<some string>
к URL, что не так, как должно быть.
Я пытаюсь вызвать GetString
с помощью клиента HttpClint.GetAsync()
, но мне не удалось вызвать его или передать ему что-либо.
Комментарии:
1. «это не так, как должно быть». … как вы хотите, чтобы это было тогда точно? Потенциально существует много способов его настройки. Будьте конкретны в своих требованиях
2. Вы правы. Я понял, что не понимаю, что я делаю. Я просто
[HttpGet("{incomingString}")]
заменил[HttpGet] [Route("GetString")]
и добавил[FromQuery]
перед параметром метода.