首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionResult参数意义

ActionResult参数意义
EN

Stack Overflow用户
提问于 2017-03-05 22:53:39
回答 1查看 3.2K关注 0票数 3

ControllerBase类有许多方法,如CreatedCreatedAtAction,它们需要value参数。

代码语言:javascript
复制
[NonAction]
public virtual CreatedAtActionResult CreatedAtAction(string actionName,
            string controllerName,
            object routeValues,
            object value)
{
            return new CreatedAtActionResult(actionName, controllerName, routeValues, value);
}

上面的文件(真的很差)写着:

要在实体体中设置格式的值。

我不明白这个参数代表什么?它实际上既没有在CreatedAtActionResult类中使用,也没有在基类中使用。此外,没有任何方法重载允许不使用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-05 23:09:17

该值是希望作为响应返回的新对象,与传递给Ok(value)的对象相同。

如果只想回发新的资源url,可以传递null。或者发布它的值,如果您的java脚本想直接使用它。

代码语言:javascript
复制
[HttpGet]
public IActionResult GetUser(int id) 
{
    var user = context.Users.SingleOrDefault(id);
    if(user==null)
        return NotFound();

    return Ok(user);
}

[HttpPost]
public IActionResult CreateUser(UserViewModel user) 
{
    var newUser = new User { /* assign values */ };

    context.Users.Add(newUser);
    context.SaveChanges();

    return CreatedAtAction(nameof(GetUser), nameof(UserController), new { id = newUser.Id }, newUser);
}

这将返回newUser的json响应,并创建一个头部,其中url指向"http://example.com/user/5“或新创建的用户的任何id。

如果不希望返回json响应,只需传递null即可。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42615044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档