webapi 注释 返回model_webapi swagger 返回model参数注释 - CSDN
精华内容
参与话题
  • 一般都是使用Model类库,因为传参的话都是Model里来的,当然如果有定义比如:出入参的类库,下面我就按Model类库来说,其它类库也按以下步骤来就行了。 第一步:选中Model类型右键——属性——生成——XML文档文件...

    不说废话直接上解决方案。

    一般都是使用Model类库,因为传参的话都是Model里来的,当然如果有定义比如:出入参的类库,下面我就按Model类库来说,其它类库也按以下步骤来就行了。

    第一步:选中Model类型右键——属性——生成——XML文档文件打勾,后面会出来一个路径,你只需要复制一下最后的文件名就行了(包含后缀)。

     第二步:在App_Start文件夹下面的SwaggerConfig.cs文件夹配置跨域添加这一行代码(一个类库对应添加一行)

    添加代码如下:

    c.IncludeXmlComments(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, @"bin\这里就把上面生成的文件名粘贴过来就可以了(包含后缀)"));

    两步完成后,就可以看到使用Swagger调用时,可以显示出注释了。

    展开全文
  • 比如这样的一个api,java怎么获得数据 上传订单备注 简要描述: 用户上传订单备注 请求URL: app-admin-SetMessage 请求方式: get 参数: 参数名 必选 类型 说明 token 是 string 验证 id 是 string 订单id msg...
  • WebApi中的注释对应的Swagger生成规范

    千次阅读 2018-11-16 10:55:29
    <summary>方法简介 <param name="参数变量名"...如果是Get传实体参,swagger会自动生成该实体下的所有变量名,要求开发者输入对应的值进行接口测试。若是Post传实体参,...返回描述...

    <summary>方法简介

    <param name="参数变量名">参数描述</param>如果是Get传实体参,swagger会自动生成该实体下的所有变量名,要求开发者输入对应的值进行接口测试。若是Post传实体参,右侧会自动生成一个实例,单击即可测试。

    所以对于比较复杂的参数尽量建实体model。

    <returns>返回描述

    展开全文
  • Swagger-很好的WebApi在线调试工具

    千次阅读 2017-03-28 10:46:10
    Swagger-很好的WebApi在线调试工具

    看图说话,Swagger是一个WebApi在线调试的工具,使用很方便,他会把你WebApi的所有接口都给列出,然后还会给出你后台代码对应的注释说明,超级方便,直接在线调试,把请求模型,响应模型全部给你列出来了,你要调试直接点点就好了。

    .Net环境下开始安装

    1.安装Nuget包 如图:

    2.他会在App_Start目录下创建SwaggerConfig和Swagger.Net文件,删除Swagger.Net文件。然后可以直接运行了,但是界面没有接口注释,而且全是英文。

    3.右键项目属性->生成->在输入选中“XML文档文件” 路径一般是 bin\项目名称.XML,这个文件是描述接口注释信息的

    4.添加注释,和汉化Swagger界面,首选需要一个汉化的js文件

    swaggerTranslator.js

    'use strict';
    
    /**
     * Translator for documentation pages.
     *
     * To enable translation you should include one of language-files in your index.html
     * after <script src='lang/translator.js' type='text/javascript'></script>.
     * For example - <script src='lang/ru.js' type='text/javascript'></script>
     *
     * If you wish to translate some new texsts you should do two things:
     * 1. Add a new phrase pair ("New Phrase": "New Translation") into your language file (for example lang/ru.js). It will be great if you add it in other language files too.
     * 2. Mark that text it templates this way <anyHtmlTag data-sw-translate>New Phrase</anyHtmlTag> or <anyHtmlTag data-sw-translate value='New Phrase'/>.
     * The main thing here is attribute data-sw-translate. Only inner html, title-attribute and value-attribute are going to translate.
     *
     */
    window.SwaggerTranslator = {
        _words: [],
    
        translate: function () {
            var $this = this;
            $('[data-sw-translate]').each(function () {
                $(this).html($this._tryTranslate($(this).html()));
                $(this).val($this._tryTranslate($(this).val()));
                $(this).attr('title', $this._tryTranslate($(this).attr('title')));
            });
        },
    
        _tryTranslate: function (word) {
            return this._words[$.trim(word)] !== undefined ? this._words[$.trim(word)] : word;
        },
    
        learn: function (wordsMap) {
            this._words = wordsMap;
        }
    };
    
    
    /* jshint quotmark: double */
    window.SwaggerTranslator.learn({
        "Warning: Deprecated": "警告:已过时",
        "Implementation Notes": "实现备注",
        "Response Class": "响应类",
        "Status": "状态",
        "Parameters": "参数",
        "Parameter": "参数",
        "Value": "值",
        "Description": "描述",
        "Parameter Type": "参数类型",
        "Data Type": "数据类型",
        "Response Messages": "响应消息",
        "HTTP Status Code": "HTTP状态码",
        "Reason": "原因",
        "Response Model": "响应模型",
        "Request URL": "请求URL",
        "Response Body": "响应体",
        "Response Code": "响应码",
        "Response Headers": "响应头",
        "Hide Response": "隐藏响应",
        "Headers": "头",
        "Try it out!": "试一下!",
        "Show/Hide": "显示/隐藏",
        "List Operations": "显示操作",
        "Expand Operations": "展开操作",
        "Raw": "原始",
        "can't parse JSON.  Raw result": "无法解析JSON. 原始结果",
        "Model Schema": "模型架构",
        "Model": "模型",
        "apply": "应用",
        "Username": "用户名",
        "Password": "密码",
        "Terms of service": "服务条款",
        "Created by": "创建者",
        "See more at": "查看更多:",
        "Contact the developer": "联系开发者",
        "api version": "api版本",
        "Response Content Type": "响应Content Type",
        "fetching resource": "正在获取资源",
        "fetching resource list": "正在获取资源列表",
        "Explore": "浏览",
        "Show Swagger Petstore Example Apis": "显示 Swagger Petstore 示例 Apis",
        "Can't read from server.  It may not have the appropriate access-control-origin settings.": "无法从服务器读取。可能没有正确设置access-control-origin。",
        "Please specify the protocol for": "请指定协议:",
        "Can't read swagger JSON from": "无法读取swagger JSON于",
        "Finished Loading Resource Information. Rendering Swagger UI": "已加载资源信息。正在渲染Swagger UI",
        "Unable to read api": "无法读取api",
        "from path": "从路径",
        "server returned": "服务器返回"
    });
    
    
    $(function () {
        window.SwaggerTranslator.translate();
    });
    把这个文件复制到你的项目中去,而且要设置生成操作为:嵌入的资源

    在SwaggerConfig文件中配置:

    namespace SwaggerApiDemo
    {
        public class SwaggerConfig
        {
            public static void Register()
            {
                var thisAssembly = typeof(SwaggerConfig).Assembly;
    
                GlobalConfiguration.Configuration
                    .EnableSwagger(c =>
                   {
                        c.SingleApiVersion("v1", "SwaggerApiDemo");
    
                        //将web层中的注释添加到SwaggerUI中
                        string webXMLPath = string.Format(@"{0}\bin\SwaggerApiDemo.xml", AppDomain.CurrentDomain.BaseDirectory);
                        c.IncludeXmlComments(webXMLPath);
    
                       //将application层中的注释添加到SwaggerUI中
                       //var serviceXMLPath = string.Format("{0}//bin//SwaggerApiDemo.Application.XML", System.AppDomain.CurrentDomain.BaseDirectory);
                       //c.IncludeXmlComments(serviceXMLPath);
    
                   })
                    .EnableSwaggerUi(c =>
                    {
                        //加载汉化的js文件,注意 swagger.js文件属性必须设置为“嵌入的资源”。
                        c.InjectJavaScript(Assembly.GetExecutingAssembly(), "SwaggerApiDemo.Scripts.swaggerTranslator.js");
                    });
            }
        }
    }
    配置好后,直接使用咯 http://localhost:53337/swagger 

    尽情使用吧!

    展开全文
  • WebAPI测试接口工具-WebApiTestClient

    千次阅读 2018-02-19 22:00:50
    (1)、将WebApi的接口放到了浏览器里面,以可视化的方式展现出来,比如我们通过http://localhost:11095/Help这个地址就能在浏览器里面看到这个服务里面所有的API接口以及接口的详细说明。 (2)、能够详细查看API...

    一、WebApiTestClient介绍

    1、WebApiTestClient组件作用主要有以下几个:

    (1)、将WebApi的接口放到了浏览器里面,以可视化的方式展现出来,比如我们通过http://localhost:11095/Help这个地址就能在浏览器里面看到这个服务里面所有的API接口以及接口的详细说明。

    (2)、能够详细查看API的类说明、方法说明、参数说明、返回值说明。只需要我们在定义方法时候加上 /// 这种详细注释即可,组件自动读取注释里面的内容展现在界面上面。

    (3)、可以修改http请求头文件Head和请求体Body里面的参数,指定发送http请求的特性,比如指定我们最常见的contentType指示参数的类型。

    (4)、组件拥有测试接口的功能,用过Soup UI的朋友应该知道,通过Soup UI能够方便测试WebService参数以及返回值。我们的WebApiTestClient也可以实现类似的功能,直接通过页面上的测试按钮,就能测试接口。

    2、WebApiTestClient是一个开源组件。开源地址:https://github.com/yaohuang/WebApiTestClient

    二、项目示例

    1、新建API项目并然后通过Nuget引入组件
    这里写图片描述

    引入成功后,将向项目里面添加一些主要文件:

    Scripts\WebApiTestClient.js
    Areas\HelpPage\TestClient.css
    Areas\HelpPage\Views\Help\DisplayTemplates\TestClientDialogs.cshtml
    Areas\HelpPage\Views\Help\DisplayTemplates\TestClientReferences.cshtml

    2、使用组件

    1、修改Api.cshtml文件

    通过上述步骤,就能将组件WebAPITestClient引入进来。下面我们只需要做一件事:打开文件 (根据 Areas\HelpPage\Views\Help) Api.cshtml 并添加以下内容:

    @Html.DisplayForModel(“TestClientDialogs”)
    @Html.DisplayForModel(“TestClientReferences”)
    添加后Api.cshtml文件的代码如下

    @using System.Web.Http
    @using WebApiTestClient.Areas.HelpPage.Models
    @model HelpPageApiModel
    
    @{
        var description = Model.ApiDescription;
        ViewBag.Title = description.HttpMethod.Method + " " + description.RelativePath;
    }
    
    <link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
    <div id="body" class="help-page">
        <section class="featured">
            <div class="content-wrapper">
                <p>
                    @Html.ActionLink("Help Page Home", "Index")
                </p>
            </div>
        </section>
        <section class="content-wrapper main-content clear-fix">
            @Html.DisplayForModel()
        </section>
    </div>
    
    @Html.DisplayForModel("TestClientDialogs")
    @section Scripts{
        <link href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
        @Html.DisplayForModel("TestClientReferences")
    }

    3、配置读取注释的xml路径

    其实,通过上面的步骤,我们的项目已经可以跑起来了,也可以调用接口测试。但是,还不能读取 /// 注释里面的东西。需要做如下配置才行。

    (1)配置生成xml的路径。我们在项目上面点右键→属性→生成标签页配置xml的路径
    这里写图片描述

    4、在xml的读取路径:在下图的HelpPageConfig.cs里面配置一句话,指定xml的读取路径。
    这里写图片描述

    config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/WebApiTestClient.XML")));

    5、测试接口

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web.Http;
    
    namespace WebApiTestClient.Areas.HelpPage.Controllers
    {
        /// <summary>
        /// 测试API Test Client
        /// </summary>
        public class TestController : ApiController
        {
            /// <summary>
            /// 得到所有数据
            /// </summary>
            /// <returns>返回数</returns>
            // GET: api/Test
            public IEnumerable<string> Get()
            {
                return new string[] { "value1", "value2" };
            }
    
            /// <summary>
            /// 根据当前ID得到所有数据
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            // GET: api/Test/5
            public string Get(int id)
            {
                return "value"+id.ToString();
            }
    
            /// <summary>
            /// POST
            /// </summary>
            /// <param name="value"></param>
            // POST: api/Test
            public bool Post([FromBody]string value)
            {
                return true;
            }
    
            /// <summary>
            /// PUT
            /// </summary>
            /// <param name="id"></param>
            /// <param name="value"></param>
            // PUT: api/Test/5
            public int Put(int id, [FromBody]string value)
            {
                return id;
            }
    
            /// <summary>
            /// DEL
            /// </summary>
            /// <param name="id"></param>
            // DELETE: api/Test/5
            public int Delete(int id)
            {
                return id;
            }
        }
    }
    

    6、我们在url里面敲地址http://localhost:11095/Help/Index或者http://localhost:11095/Help就能得到上述效果。
    这里写图片描述

    点击get方法
    这里写图片描述

    这里写图片描述

    展开全文
  • [@Controller]2 详解@RequestMapping

    万次阅读 2014-01-24 14:40:13
    org.springframework.web.bind.annotation.RequestMapping Annotation for mapping web requests onto specific handler classes and/or handler methods. Provides consistent style between S
  • WebApi 接口增加备注和测试

    千次阅读 2017-05-02 10:45:43
    1:配置 接口注释。 (1)配置生成xml的路径。我们在项目上面点右键→属性→生成标签页配置xml的路径。 (2)在xml的读取路径:在Areas\HelpPage\App_Start\HelpPageConfig.cs里面配置xml的读取路径。...
  • Web Api Token验证

    千次阅读 2018-10-04 20:27:29
    我最近刚学习web api,所以写的一token认证比较简单 1、新建一个web api的项目 2、打开Provides中的这个类 3、在这个类的GrantResourceOwnerCredentials方法中进行认证修改 4、注释掉这个方法中的东西,自己...
  • ASP.NET Web API详解

    千次阅读 2014-02-23 11:09:51
    在这篇文章中我们将讨论Web API设计、概念、功能,和对比Web API与WCF。 1. 实现一个Web API项目 我们从一个简单的实例开始讨论。我们使用Visual Studio 2012做为开发环境。我们第一步是基于Web API模版创建...
  • WebApi接口开发完毕后,交付给前端人员或手机端开发者时接口说明文档是必不可少的配套设备,如果公司流程不规范大家使用口口相传的交接方式,而且没有改进的欲望,那你可以到此为止了。Swagger是方便测试接口,快速...
  • Spring启动RESTful API文档使用Swagger 2

    千次阅读 2017-03-08 17:29:04
    构建后端API层引入了一个全新的领域,超越了仅仅实现端点的挑战。 您现在有客户端,现在将使用您的API。 您的客户需要知道如何与您的API进行互动。 在基于SOAP的Web服务中,您有一个WSDL可以使用。 这为API开发人员...
  • 前后端分离API设计指南

    万次阅读 多人点赞 2018-03-16 12:24:05
    原文首发:http://www.zhoulujun.cn/zhoulujun/html/theory/model/8026.html谈前后端分工,接口设计,resetful啥,不得不谈谈web的发展史。在web元年,每个web开发工程师都是真正的全栈工程师。哪有什么前后不搭边的...
  • reflection)来识别哪个方法可以被远程调用,包括他们的参数和返回值,但目前只能返回字符串,不能返回数组,若返回数组,则为"array";故我将返回值转换为json字符串再返回. 1. 定义Service Provider,服务器端文件...
  • 写在前面 在全新的.NET Core 版本中我们熟悉的Swagger也迎来了全新的Core版本,在这里我将记录下搭建并完善Swagger的全部过程,其中有部分内容参考了相关资料在此附上链接。... 在WebApi中引入Sw...
  • swagger返回map字段注释

    千次阅读 2020-05-04 16:19:22
    1.效果图如下: 2.controller层代码: import java.util.HashMap;...import java.util.Map;...import org.springframework.stereotype....import org.springframework.web.bind.annotation.RequestMapping; impor...
  • ASP.NET WEB API入门实例

    万次阅读 2017-03-17 11:57:43
    1.WebApi是什么  ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务。ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台。 ...
  • WebApi接口测试工具:WebApiTestClient

    万次阅读 2016-03-14 10:06:28
    前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗。由于接口个数有点多,每个接口都要详细说明接口...
  • 首先新建一个WebAPI项目,Edu.Swagger 然后打开“程序包管理控制台”使用NuGet安装 Swashbuckle.AspNetCore Install-Package Swashbuckle.AspNetCore 配置Startup.cs文件 将 Swagger...
  • (精华)2020年9月22日 微服务 WebAPI详解

    万次阅读 2020-09-22 22:59:20
    if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
  • //自定义特性 重写ValidationAttribute的IsValid public class Validate : ValidationAttribute { public int NotNum { get; set; } protected override ValidationResult IsValid(object value, Vali...
1 2 3 4 5 ... 20
收藏数 21,304
精华内容 8,521
关键字:

webapi 注释 返回model