【问题标题】:How do I publish the ASP.NET Web API model class definition?如何发布 ASP.NET Web API 模型类定义?
【发布时间】:2014-07-22 22:26:33
【问题描述】:

我试图了解如何或有哪些选项可用于发布传递给我的 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 用户调用方法时,材质对象作为参数传递。该调用者需要定义材质类,然后才能正确构建他们需要传递的对象。如果有人有一些细节或更好的解释,请告诉我。我没有太多运气找到答案,这让我相信我问错了问题。

【问题讨论】:

  • 我们所做的大部分研究使我们相信这通常是通过生成帮助页面来完成的。类似于这里讨论的内容:stackoverflow.com/questions/18606715/…除此之外,许多使用 Web API 的组将在 C# 中使用它,所以我试图了解如何直接与使用 API 的应用程序共享模型类端点。如果更改了类,最好将更改直接反映到调用应用程序。

标签: c# asp.net api


【解决方案1】:

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

方法一: 将 help pages 用于 Web API

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 2017-12-18
    • 2018-05-03
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多