从网络获取空值 api
Getting null value from Web api
我正在尝试存储作为对话成员的字符串列表。
[DataContract]
public class Conversation
{
[Key]
[DataMember]
public string Key { get; set; }
[DataMember]
public string ConversationName { get; set; }
[DataMember]
public string Administrator { get; set; }
[DataMember]
public List<string> Members { get; set; }
public Conversation(string key, string name, string admin, List<string> members)
{
Key = key;
ConversationName = name;
Administrator = admin;
Members = members;
}
public Conversation()
{
}
}
我正在使用 Postman 向似乎工作正常的 URI 发出 Post 请求,返回 201 Created 并提供包含正确信息的 json 对象。
这是我发布的json:
{
"Key": "123",
"ConversationName": "Test",
"Administrator": "Ken",
"Members": ["y@12.com", "f@78.com"]
}
但是,当我尝试使用 GET 方法获取对话时,结果如下:
{
"Key": "123",
"ConversationName": "Test",
"Administrator": "Ken",
"Members": null
}
这些是我在控制器中的功能:
Post:
[HttpPost]
//[ResponseType(typeof(Conversation))]
public async Task<IHttpActionResult> PostConversation(Conversation convo)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Conversations.Add(convo);
await db.SaveChangesAsync();
return CreatedAtRoute("DefaultApi", new { name = convo.Key }, convo);
}
获取:
[HttpGet]
public IQueryable<Conversation> GetConversations()
{
return db.Conversations;
}
如有任何帮助,我们将不胜感激。谢谢!
post 基本上 returns 您提供的实体,即 with Members
,显然。
get 从数据库中加载一个 Conversation
。在那一刻它不能有任何 Members
,因为 Members
是一个 List<string>
,不可能映射到数据库列。
您可能希望 post 将 Members
存储到数据库中。这不会发生,因为您应该使用 Member
entities 而不是字符串。 Member
可以是一个简单的 class 有一个 Id
和一个 string
属性.
我正在尝试存储作为对话成员的字符串列表。
[DataContract]
public class Conversation
{
[Key]
[DataMember]
public string Key { get; set; }
[DataMember]
public string ConversationName { get; set; }
[DataMember]
public string Administrator { get; set; }
[DataMember]
public List<string> Members { get; set; }
public Conversation(string key, string name, string admin, List<string> members)
{
Key = key;
ConversationName = name;
Administrator = admin;
Members = members;
}
public Conversation()
{
}
}
我正在使用 Postman 向似乎工作正常的 URI 发出 Post 请求,返回 201 Created 并提供包含正确信息的 json 对象。 这是我发布的json:
{
"Key": "123",
"ConversationName": "Test",
"Administrator": "Ken",
"Members": ["y@12.com", "f@78.com"]
}
但是,当我尝试使用 GET 方法获取对话时,结果如下:
{
"Key": "123",
"ConversationName": "Test",
"Administrator": "Ken",
"Members": null
}
这些是我在控制器中的功能:
Post:
[HttpPost]
//[ResponseType(typeof(Conversation))]
public async Task<IHttpActionResult> PostConversation(Conversation convo)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Conversations.Add(convo);
await db.SaveChangesAsync();
return CreatedAtRoute("DefaultApi", new { name = convo.Key }, convo);
}
获取:
[HttpGet]
public IQueryable<Conversation> GetConversations()
{
return db.Conversations;
}
如有任何帮助,我们将不胜感激。谢谢!
post 基本上 returns 您提供的实体,即 with Members
,显然。
get 从数据库中加载一个 Conversation
。在那一刻它不能有任何 Members
,因为 Members
是一个 List<string>
,不可能映射到数据库列。
您可能希望 post 将 Members
存储到数据库中。这不会发生,因为您应该使用 Member
entities 而不是字符串。 Member
可以是一个简单的 class 有一个 Id
和一个 string
属性.