【发布时间】:2021-07-26 07:02:30
【问题描述】:
我是 asp.net core 3 的新手,如果我的问题听起来太简单,对不起,下面是我的控制器类:
[ApiController]
[Route("[controller]")]
public class MyController : ControllerBase {
List<string> _fruit = new List<string> { "Pear", "Lemon", "Peach" };
[HttpGet("fruit")]
public IEnumerable<string> MethodXXX() {
return _fruit;
}
...
}
所以当我路由到my/fruit 时,我会得到一个字符串列表。
但如果我将 MethodXXX 更改为:
[HttpGet("fruit")]
public IEnumerable<string> MethodXXX() {
return null;
}
然后浏览器总是回退到之前的url,比如我一开始是my/other,然后我把url改成my/fruit,可以看到浏览器发送了一个新的请求,url也变了到my/fruit 一小段时间,然后又回到my/other。
这种行为是为了什么?我很确定我读过一本说你可以从动作方法返回 null 的书?
【问题讨论】:
-
可能是缓存问题。清除缓存并重试
-
请在 Chrome 的“网络”选项卡中分享请求和响应详细信息以获取请求。
-
另外,返回
null是非常奇怪一个可枚举的。如“几乎肯定是错误的”。Enumerable.Empty更有可能是您应该做的事情。
标签: c# asp.net-core .net-core