我有一个 POST 方法,它将返回用户的项目列表,并且由于我是 c# web api 的新手,所以如果 Id 为 null、空或无效,我很难设置正确的条件和响应。我尝试过类似的响应,但它不起作用,主要是因为这些示例使用的是 iHttpActionResult 而不是 List<>
这是我 Controller 中的代码,我不确定在我提供的评论中放置什么:
[HttpPost]
public List<ValueStory> UserValueStories ([FromBody] ValueStory valuestory)
//public void UserValueStories([FromBody] ValueStory Id)
{
if (valuestory.Id == "" || valuestory.Id == null)
{
//what code to add to change status code to 400 and to display error message?
}
//what code to put if the id is not valid, what status code and what message?
var valueStoryName = (from vs in db.ValueStories
where vs.Id == valuestory.Id
select vs).ToList();
List<ValueStory> vs1 = new List<ValueStory>();
foreach (var v in valueStoryName)
{
vs1.Add(new ValueStory()
{
Id = v.Id,
ValueStoryName = v.ValueStoryName,
Organization = v.Organization,
Industry = v.Industry,
Location = v.Location,
AnnualRevenue = v.AnnualRevenue,
CreatedDate = v.CreatedDate,
ModifiedDate = v.ModifiedDate,
MutualActionPlan = v.MutualActionPlan,
Currency = v.Currency,
VSId = v.VSId
});
}
return vs1.ToList();
}
感谢有关如何正确执行此操作的一些帮助和指导。
请您参考如下方法:
将返回类型更改为 IHttpActionResult .
要返回 400 BAD REQUEST,返回 BadRequest() .
要返回 404 NOT FOUND,返回 NotFound() .
要返回列表数据,请返回 Ok(vs1) .
参见 documentation获取更多信息。
可选:如果您使用的是 Swagger 或 Web Api 帮助页面等文档工具,还要添加 [ResponseType(typeof(List<ValueStory>))]属性到您的操作方法。
