如何发布ASP.NET Web API模型类定义?

时间:2014-07-22 13:07:02

标签: c# asp.net api

我正在尝试了解如何或哪些选项可用于发布传递给我的ASP.NET Web API CRUD方法的模型类。这是我的POST方法的一个例子。

public HttpResponseMessage PostMaterial(Material material)
{
    try
    {
        repository.Add(material);
    }
    catch (ArgumentNullException)
    {
        var exceptionResponse = Request.CreateResponse("Material object was null.");
        return exceptionResponse;
    }
    var response = Request.CreateResponse("Material " + material.MaterialName + " created.");
    string uri = Url.Link("DefaultApi", new { materialName = material.MaterialName });
    response.Headers.Location = new Uri(uri);
    return response;
}

在此示例中,当外部API用户调用该方法时,将物料对象作为参数传递。该调用者需要一个材料类的定义,因此可以正确地构建他们需要传递的对象。如果有人有一些细节或更好的解释,请告诉我。我没有太多运气找到答案让我相信我问的是错误的问题。

1 个答案:

答案 0 :(得分:0)

我有同样的情况,有两种方法:

方法1: 使用help pages进行网络API

方法2: 我可以创建一个简单的GET方法,它返回我的模型(空白或默认值)作为响应。所以他们(调用者)将知道在他们的应用程序中需要发送哪些参数/对象来使用web api。(但是为此我还需要通知他们有关该方法:))

因此,我选择第一种方法,因为它对外部应用程序开发人员正确理解您的Web api非常有帮助。您也可以使用Web API帮助页面正确记录API。