如何将此WCF功能映射到我的REST Web API?

时间:2014-02-26 12:23:48

标签: javascript asp.net-mvc json wcf rest

问候我有一个WCF服务,基本上API用户创建一本书的工作如下:

var Book = new DtoBook()
                {
                    OpenInModal = false,
                    CallToActionUrl = "url"
                    Status = NotificationStatus.Unseen,
                    TimeStamp = DateTime.Now,
                    Type = NotificationType.Type,
                    Message = "test,
                };
                BookManager.Instance.Add(Book);

我让用户基本上做同样的事情,而不是客户端。

我已经创建了一个看起来像这样的POST方法:

public HttpResponseMessage Add(List<DtoBook> Books)
{
    if (!ModelState.IsValid)
    {
        return Request.CreateResponse(HttpStatusCode.BadRequest);
    }
    BookManager.Instance.Add(Books);
    var response = Request.CreateResponse(HttpStatusCode.Created, Books);
    return response;
}

所以当我输入网址时,我会在我的控制台中关注:

{"Message":"The request is invalid.","MessageDetail":"The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.String Get(Int32)' in 'test.Controllers.NotificationsController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter."}

我的问题是我需要做什么才能让用户输入dToBook类的属性,然后发生POST并添加书籍。我想现在它只是尝试添加它而没有任何属性。

感谢任何形式的帮助

1 个答案:

答案 0 :(得分:1)

尝试指定方法是post,for sample:

[HttpPost]
public HttpResponseMessage Add([FromBody]List<DtoBook> Books)
{
   // code
}