加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api2 – Web Api 2 Post – UrlHelper.Link不能返回

发布时间:2020-12-15 23:14:55 所属栏目:asp.Net 来源:网络整理
导读:我有一个基本的Web API 2设置与一些基本的路由. 以下是插入的默认路线和帖子.当我调用帖子时,记录在数据库中完美创建,但是“CreatedAtRoute”调用返回500错误,说明: ExceptionMessage: “UrlHelper.Link must not return null.” ExceptionType: “System.I
我有一个基本的Web API 2设置与一些基本的路由.

以下是插入的默认路线和帖子.当我调用帖子时,记录在数据库中完美创建,但是“CreatedAtRoute”调用返回500错误,说明:

ExceptionMessage: “UrlHelper.Link must not return null.”
ExceptionType: “System.InvalidOperationException”

为什么会收到这个错误?

[RoutePrefix("api/casenotes")]
    public class CasenoteController : ApiController...



// POST api/Casenote
[Route("")]
[ResponseType(typeof(client_admission_casenote))]
    public async Task<IHttpActionResult> Postclient_admission_casenote   (client_admission_casenote client_admission_casenote)
{

  Request.GetRequestContext().IncludeErrorDetail = true;

  if (!ModelState.IsValid)
  {
      return BadRequest(ModelState);
  }

  db.client_admission_casenote.Add(client_admission_casenote);
  await db.SaveChangesAsync();

  return CreatedAtRoute("DefaultApi",new { id = client_admission_casenote.casenote_id },client_admission_casenote);
    }

解决方法

由于您正在使用属性路由..您必须命名您的路由,即
[Route(“api / books / {id}”,Name =“GetBookById”)]

并使用您的url.link()调用的路由名称

看到这里的细节.. http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2#route-names

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读