zoukankan      html  css  js  c++  java
  • Web API 约定

    Web API 约定

    默认的约定

    集将应用于 ContactsConventionController 中的所有操作:

    [ApiController]
    [ApiConventionType(typeof(DefaultApiConventions))]
    [Route("api/[controller]")]
    public class ContactsConventionController : ControllerBase
    {
    

    默认的约定集将应用于程序集中的所有操作:

    [assembly: ApiConventionType(typeof(DefaultApiConventions))]
    namespace ApiConventions
    {
        public class Startup
        {
    

    创建 Web API 约定

    如果默认 API 约定不能满足需要,请创建自己的约定。 约定是:

    响应类型

    这些方法使用 [ProducesResponseType][ProducesDefaultResponseType] 属性进行批注。 例如:

    C#复制

    public static class MyAppConventions
    {
        [ProducesResponseType(StatusCodes.Status200OK)]
        [ProducesResponseType(StatusCodes.Status404NotFound)]
        public static void Find(int id)
        {
        }
    }
    

    如果没有更具体的元数据属性,则将此约定应用于程序集可强制实现以下内容:

    • 该约定方法应用于所有名为 Find 的操作。
    • id 操作上存在名为 Find 的参数。

    命名要求

    [ApiConventionNameMatch][ApiConventionTypeMatch] 属性可应用于约定方法,确定它们所要应用的操作。 例如:

    C#复制

    [ProducesResponseType(StatusCodes.Status200OK)]
    [ProducesResponseType(StatusCodes.Status404NotFound)]
    [ApiConventionNameMatch(ApiConventionNameMatchBehavior.Prefix)]
    public static void Find(
        [ApiConventionNameMatch(ApiConventionNameMatchBehavior.Suffix)]
        int id)
    { }
    

    在上面的示例中:

    • 应用于该方法的 Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionNameMatchBehavior.Prefix 选项表示该约定可匹配前缀是“Find”的任何操作。 匹配的操作可以是 FindFindPetFindById
    • 应用于该参数的 Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionNameMatchBehavior.Suffix 表示该约定可匹配带有唯一以标识符作为后缀结尾的参数的方法。 示例包括 idpetId 等参数。 与此类似,可将 ApiConventionTypeMatch 应用于类型,以约束参数类型。 params[] 参数指示无需显式匹配的剩余参数。
  • 相关阅读:
    java使用 poi导出Excel 2003异常
    ajax 提交复选框
    基于tensorflow的躲避障碍物的ai训练
    现代企业的人力资源困局
    黑暗圣经---物业公司CTO/CEO改如何给老板推荐物业信息化产品
    物业管理系统选择之困——天下有没有白吃的午餐
    江湖风云再起——全球最高性价比私有云平台解决方案发布
    ES6 promise的使用
    C# web API的初步使用!!
    post 与get的区别
  • 原文地址:https://www.cnblogs.com/ouyangkai/p/12801724.html
Copyright © 2011-2022 走看看