我似乎无法连接到Postman中的任何控制器方法。它确实可以在角度应用程序中工作。该项目是作为文档建议here
生成的此控制器方法随模板一起提供:
[Route("api/[controller]")]
public class SampleDataController : Controller
{
private static string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
[HttpGet("[action]")]
public IEnumerable<WeatherForecast> WeatherForecasts()
{
var rng = new Random();
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
DateFormatted = DateTime.Now.AddDays(index).ToString("d"),
TemperatureC = rng.Next(-20, 55),
Summary = Summaries[rng.Next(Summaries.Length)]
});
}
public class WeatherForecast
{
public string DateFormatted { get; set; }
public int TemperatureC { get; set; }
public string Summary { get; set; }
public int TemperatureF
{
get
{
return 32 + (int)(TemperatureC / 0.5556);
}
}
}
}
在Startup.cs中,我将路由配置如下:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
app.UseSpa(spa =>
{
// To learn more about options for serving an Angular SPA from ASP.NET Core,
// see https://go.microsoft.com/fwlink/?linkid=864501
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
//delay timeout 2 min to avoid timeout
spa.Options.StartupTimeout = new TimeSpan(0, 5, 0);
spa.UseAngularCliServer(npmScript: "start");
}
});
当我运行该应用程序并尝试在Postman中进行获取请求时,没有任何响应。我在打电话:
https://localhost:44389/api/sampledata/weatherforecasts
我认为这可能是端口问题,但这是应用程序在其上运行的端口,但我可能会丢失某些东西
有什么想法吗?
答案 0 :(得分:1)
我有同样的问题。 在 Startup.cs 中,我们评论或删除此行。
app.UseHttpsRedirection();
然后邮递员按预期方式工作。
答案 1 :(得分:0)
.Net Core 3.1 Angular模板存在相同的问题,但是如果我从url中删除api,它对我有用。
例如:https:// localhost:44389 / sampledata / weatherforecasts