ASP.NET GET 请求总是 returns 空白
ASP.NET GET request always returns blank
我正在尝试为 return 创建一个 JSON 响应的端点。我已尝试将其缩小到仅包含对象,但我收到的只是 {} 或 [{}] 作为响应。调试后我确认对象被正确创建但是当 returning 响应时它总是空白。下面是简化的代码,但仍然有同样的问题。知道我做错了什么吗?
[Route("{application}")]
[HttpGet]
public IActionResult Get(string application)
{
List<RequestedSetting> requestedSettings = new List<RequestedSetting>();
RequestedSetting rs = new RequestedSetting("foo", "bar");
requestedSettings.Add(rs);
return Json(requestedSettings);
}
public class RequestedSetting
{
public string Name;
public string Value;
public RequestedSetting(string name, string value)
{
Name = name;
Value = value;
}
}
我也试过这个:
[Route("{application}")]
[HttpGet]
public List<RequestedSetting> Get(string application)
{
List<RequestedSetting> requestedSettings = new List<RequestedSetting>();
RequestedSetting rs = new RequestedSetting("foo", "bar");
requestedSettings.Add(rs);
return requestedSettings;
}
System.Text.Json
中的字段不支持序列化。有关详细信息,请参阅 docs。
相反,将您的 class 更改为使用属性:
public class RequestedSetting
{
public string Name { get; set; }
public string Value { get; set; }
public RequestedSetting(string name, string value)
{
Name = name;
Value = value;
}
}
我正在尝试为 return 创建一个 JSON 响应的端点。我已尝试将其缩小到仅包含对象,但我收到的只是 {} 或 [{}] 作为响应。调试后我确认对象被正确创建但是当 returning 响应时它总是空白。下面是简化的代码,但仍然有同样的问题。知道我做错了什么吗?
[Route("{application}")]
[HttpGet]
public IActionResult Get(string application)
{
List<RequestedSetting> requestedSettings = new List<RequestedSetting>();
RequestedSetting rs = new RequestedSetting("foo", "bar");
requestedSettings.Add(rs);
return Json(requestedSettings);
}
public class RequestedSetting
{
public string Name;
public string Value;
public RequestedSetting(string name, string value)
{
Name = name;
Value = value;
}
}
我也试过这个:
[Route("{application}")]
[HttpGet]
public List<RequestedSetting> Get(string application)
{
List<RequestedSetting> requestedSettings = new List<RequestedSetting>();
RequestedSetting rs = new RequestedSetting("foo", "bar");
requestedSettings.Add(rs);
return requestedSettings;
}
System.Text.Json
中的字段不支持序列化。有关详细信息,请参阅 docs。
相反,将您的 class 更改为使用属性:
public class RequestedSetting
{
public string Name { get; set; }
public string Value { get; set; }
public RequestedSetting(string name, string value)
{
Name = name;
Value = value;
}
}