WebApi中帮助页Description的中文显示

转自:http://edi.wang/post/2013/10/28/auto-generate-help-document-aspnet-webapi

我选择Web API的一个重要原因就是因为可以自动生成文档,省去了开发人猿不少宝贵的时间。以前在用Web API第一代的时候,自动生成帮助文档的功能默认是不完整的,现在到了Web API 2,这个功能已经通过NuGet包的形式很好的整合到了一起。我们来看一下吧!

首先,用VS2013创建的Web API 2项目会默认带有Microsoft ASP.NET Web API Help Page的包。如果没有,就需要手动去NuGet上安装。

在安装了这个包以后,你的Web API项目目录里会多一个Area,里面有个HelpPage文件夹,这里面放的都是HelpPage生成器的代码、页面模版和配置文件。

在不做任何更改的情况下,你的WebAPI项目现在就已经具有基本的生成文档的功能了。

浏览/Help,即Areas.HelpPage.Controllers.HelpController的Index() Action,就能看到自动生成的API文档:

你们可能注意到,我的表格里“Description”字段是有内容的,而你们自己的是木有的。这个其实是需要额外去配置的。

这个Description的内容所使用的其实是代码里方法的注释,即/// <summary>形式的注释。如果你有撸过类库的经验,你会知道这些东西是可以生成XML的,许多文档生成器都要使用这份XML作为metadata的来源。

在我们的网站里,这样的metadata信息通常应该放在App_Data文件夹里,而不是默认的bin目录里。所以我们要对Web API的项目属性做一些更改。

打开项目属性,在Build页面里,勾选XML documentation file,并把他它撸到App_Data下面:

然后打开Areas\HelpPage\App_Start下的HelpPageConfig.cs

取消Register方法中第一段代码的注释,并且把XML文件的路径改成刚才在刚才在项目属性页里设置的路径

public static void Register(HttpConfiguration config)
{
    // Uncomment the following to use the documentation from XML documentation file.
    config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/PatientView.Service.WebAPI.xml")));

...
}

现在,如果你在API方法上写三斜杠的注释,就会被生成在网页上。

时间: 2024-10-10 08:40:37

WebApi中帮助页Description的中文显示的相关文章

解决“在UBUNTU下打开windows中创建的文本文件,中文显示乱码”的问题 。

在UBUNTU下打开windows中用notepad等工具创建的txt或程序源码等文本文件,中文显示乱码,原因是windows中的txt文件编码方式为GBK,UBUNTU中为utf-8. 解决办法:在终端中使用iconv命令对此文本文件进行转码,使用方法如图所示.具体到我的写法:iconv -f gbk -t utf-8 text.txt -o text.txt.utf8

解决openSUSE中Sublime Text 3的中文显示和输入问题

测试环境 系统版本:openSUSE Leap 42.2 桌面环境:KDE Plasma 5输入法:fcitx-rime (中州韵) 见周围用Windows和macOS的小伙伴几乎都在用简单强大的Sublime Text敲代码,唯有长期泡在Linux环境的自己一直把Vim当主力(长时间在终端里折腾,GUI环境也用Atom和Emacs),略好奇Linux版本的Sublime Text体验会怎么样.各种原因没有打算试用中文版,于是安装了官网的Sublime Text 3,没想到很快就发现了两个问题.

flash中调用XML遇到的中文显示异常问题

昨天使用flash调用XML文件进行显示时,出现了中文无法显示的问题,记录一下解决方法: 1.字体设置: 一般flash里的动态文本和嵌入文本都是默认的使用Arial字体,这个字体里可能没有中文,所以出现问题. 要将动态文本框的字体属性设置为微软雅黑.楷体.宋体等包含中文字体,双击元件之后可以对元件进行编辑,具体操作如下: 修改字体: 修改如下: 2.取消消除锯齿: 一般flash默认是可读性消除锯齿,为了让问题显示更美观和谐,但是这样的话中文就会出现不显示或者显示乱码的问题. 修改如下(选择下

Python将list中的unicode转换成中文显示

有这样一个列表: list = [{'channel_id': -3, 'name': u'\u7ea2\u5fc3\u5146\u8d6b'}, {u'seq_id': 0, u'name_en': u'Personal Radio', u'channel_id': 0, u'abbr_en': u'My', u'name': u'\u79c1\u4eba\u5146\u8d6b'}]1 其中name值是中文,如何讲其显示为中文? s = str(self.channel_list).repl

linux下mysql中文显示乱码,读取又正常

今天发现linux中在shell中查看mysql数据库,中文显示乱码,但是取到网页中又是正常的. 解决方法1: 在第一次进入mysql时,加一句 set names utf8 //设置编码 解决方法2: 修改/etc/my.cnf文件: 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 default-character-set=utf8 最后 /etc/init.d/mysql restart   重启即可

python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指正. 一.最简单的基本框架如下:已知x,y,画出折线图并保存.此时x和y均为数字. 1 # -*- coding: utf-8 -*- 2 3 import matplotlib.pyplot as plt #引入matplotlib的pyplot子库,用于画简单的2D图 4 import random 5

ORACLE 11G中PLSQL中文显示乱码、Linux下sqlplus查询中文乱码

问题描述: 本地是win7操作系统,cmd里面sqlplus进去连接oracle数据库,中文可以正常显示,但是plsql连接oracle数据库,中文显示乱码,还有xshell远程连接oracle服务器登录进去使用sqlplus登录也显示中文乱码. 1.检查windows7下面cmd里面sqlplus中oracle server端的字符集. 打开cmd,用sqlplus登录,输入下面SQL查询服务端的字符集. SQL> select userenv('language') fromdual; US

Servlet内容中的中文显示乱码问题

一.常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码: 3.getBytes() 是通过平台默认字符集进行编码: 二.中文乱码出现 在学习任何一门技术时,经常会有初学者遇到中文乱码问题,比如MySQL,是因为在安装时没有设置:而在Servlet中,也会遇到中文乱码问题: 比如: OutputStream out = response.

AS的代码编辑窗口中和运行时,中文显示乱码

解决:AS的代码编辑窗口中的乱码,只需要把IDE右下角的UTF-8改为GBK:运行时显示乱码, 1.在project->app->build.gradle中添加compileOptions.encoding = "GBK". 2.不能在布局文件中直接输入中文,需要在R文件中注册下,比如<activity  android:label="中文" >改为<activity  android:label="@string/chine