導航:首頁 > 源碼編譯 > api在線文檔源碼

api在線文檔源碼

發布時間:2022-07-29 03:08:49

⑴ 如何生成RestFul Api文檔

還是喜歡使用WisdomToolRESTClientV1.1支持自動化測試RESTfulAPI和自動生成RESTfulAPI文檔

工具地址:

https://github.com/wisdomtool/rest-client/


⑵ 如何使 WebAPI 自動生成漂亮又實用在線API文檔

1.1 SwaggerUI

SwaggerUI 是一個簡單的Restful API 測試和文檔工具。簡單、漂亮、易用(官方demo)。通過讀取JSON 配置顯示API. 項目本身僅僅也只依賴一些 html,css.js靜態文件. 你可以幾乎放在任何Web容器上使用。

1.2 Swashbuckle

Swashbuckle 是.NET類庫,可以將WebAPI所有開放的控制器方法生成對應SwaggerUI的JSON配置。再通過SwaggerUI 顯示出來。類庫中已經包含SwaggerUI 。所以不需要額外安裝。

2.快速開始

創建項目 OnlineAPI來封裝網路音樂服務(示例下載) ,通過API可以搜索、獲取音樂的信息和播放連接。

我盡量刪除一些我們demo中不會用到的一些文件,使其看上去比較簡潔。

WebAPI 安裝 Swashbuckle

Install-Package Swashbuckle

代碼注釋生成文檔說明。
Swashbuckle 是通過生成的XML文件來讀取注釋的,生成 SwaggerUI,JSON 配置中的說明的。
安裝時會在項目目錄 App_Start 文件夾下生成一個 SwaggerConfig.cs 配置文件,用於配置 SwaggerUI 相關展示行為的。如圖:

將配置文件大概99行注釋去掉並修改為
c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name));

並在當前類中添加一個方法

/// <summary>
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
protected static string GetXmlCommentsPath(string name)
{
return string.Format(@"{0}\bin\{1}.XML", AppDomain.CurrentDomain.BaseDirectory, name);
}

緊接著你在此Web項目屬性生成選卡中勾選 「XML 文檔文件」,編譯過程中生成類庫的注釋文件

添加網路音樂 3個API

訪問 http://<youhost>/swagger/ui/index,最終顯示效果

我們通過API 測試API 是否成功運行

3.添加自定義HTTP Header

在開發移動端 API時常常需要驗證許可權,驗證參數放在Http請求頭中是再好不過了。WebAPI配合過濾器驗證許可權即可

首先我們需要創建一個 IOperationFilter 介面的類。IOperationFilter
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Http.Description;
using System.Web.Http.Filters;
using Swashbuckle.Swagger;

namespace OnlineAPI.Utility
{
public class HttpHeaderFilter : IOperationFilter
{
public void Apply(Operation operation, SchemaRegistry
schemaRegistry, ApiDescription apiDescription)
{
if (operation.parameters == null) operation.parameters = new
List<Parameter>();
var filterPipeline =
apiDescription.ActionDescriptor.GetFilterPipeline();
//判斷是否添加許可權過濾器
var isAuthorized = filterPipeline.Select(filterInfo =>
filterInfo.Instance).Any(filter => filter is IAuthorizationFilter);
//判斷是否允許匿名方法
var allowAnonymous =
apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Any();

if (isAuthorized && !allowAnonymous)
{
operation.parameters.Add(new Parameter
{
name = "access-key",
@in = "header",
description = "用戶訪問Key",
required = false,
type = "string"
});
}
}
}
}

在 SwaggerConfig.cs 的 EnableSwagger 配置匿名方法類添加一行注冊代碼
c.OperationFilter<HttpHeaderFilter>();

添加Web許可權過濾器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web;
using System.Web.Http;
using System.Web.Http.Controllers;
using Newtonsoft.Json;

namespace OnlineAPI.Utility
{
/// <summary>
///
/// </summary>
public class AccessKeyAttribute : AuthorizeAttribute
{
/// <summary>
/// 許可權驗證
/// </summary>
/// <param name="actionContext"></param>
/// <returns></returns>
protected override bool IsAuthorized(HttpActionContext actionContext)
{
var request = actionContext.Request;
if (request.Headers.Contains("access-key"))
{
var accessKey = request.Headers.GetValues("access-key").SingleOrDefault();
//TODO 驗證Key
return accessKey == "123456789";
}
return false;
}

/// <summary>
/// 處理未授權的請求
/// </summary>
/// <param name="actionContext"></param>
protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
{
var content = JsonConvert.SerializeObject(new {State = HttpStatusCode.Unauthorized});
actionContext.Response = new HttpResponseMessage
{
Content = new StringContent(content, Encoding.UTF8, "application/json"),
StatusCode = HttpStatusCode.Unauthorized
};
}
}
}

在你想要的ApiController 或者是 Action 添加過濾器
[AccessKey]

最終顯示效果

4.顯示上傳文件參數

SwaggerUI 有上傳文件的功能和添加自定義HTTP Header 做法類似,只是我們通過特殊的設置來標示API具有上傳文件的功能
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http.Description;
using Swashbuckle.Swagger;

namespace OnlineAPI.Utility
{
/// <summary>
///
/// </summary>
public class UploadFilter : IOperationFilter
{

/// <summary>
/// 文件上傳
/// </summary>
/// <param name="operation"></param>
/// <param name="schemaRegistry"></param>
/// <param name="apiDescription"></param>
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
{
if (!string.IsNullOrWhiteSpace(operation.summary) && operation.summary.Contains("upload"))
{
operation.consumes.Add("application/form-data");
operation.parameters.Add(new Parameter
{
name = "file",
@in = "formData",
required = true,
type = "file"
});
}
}
}
}

在 SwaggerConfig.cs 的 EnableSwagger 配置匿名方法類添加一行注冊代碼
c.OperationFilter<UploadFilter>();

API 文檔展示效果

⑶ 如何在Eclipse中查看java類庫的源代碼以及相應的api

有些類庫可以查看,有些本來就不可以查看的,可以查看的,你可以用解壓工具試試

⑷ API是什麼API服務是什麼

API就是操作系統留給應用程序的一個調用介面,應用程序通過調用操作系統的API而使操作系統去執行應用程序的命令(動作)。

API除了有"應用程序介面"的意思外,還特指 API的說明文檔,也稱為幫助文檔。另外,也是美國石油協會、空氣污染指數、醫葯、空中位置指示器的英文簡稱。

作用是提供應用程序與開發人員基於某軟體或硬體得以訪問一組常式的能力,而又無需訪問源碼,或理解內部工作機制的細節。

⑸ 求java api 文檔中文版在線瀏覽地址

http://www.cjsdn.net/Doc/JDK60/

⑹ 如何使用go-swagger 生成Api文檔

看來你還沒理解maven,maven的設計思想之一是」約定優於配置「,最大優勢在於」依賴管理「。archetype這個插件裡面就是內置了一些app,web-app的類型,maven把他認為的最佳實踐都內置好了,你所做的是按照約定把該放的東西放到位置,當然你也可以像你說的把一些代碼改地方,你可以仔細研究一下archetype插件的文檔中一些參數,不過maven官方不推薦改動,因為大家都遵循差不多的規定,然後在pom.xml裡面很簡單的就配置好依賴關系,工程的擴展就容易了。maven希望是你把你的工程源代碼按照maven建好的目錄進行組織即可,如果這些不適合,你可以再看看其他插件里有沒有合適的。你要是那樣用,還不如用ant,怎麼設置工程是活的,maven並不是取代ant,只是它用了另一套哲學。不知道你認同否

⑺ java api在線中文版文檔手冊誰有,java api的

在線沒中文的

要中文的我可以發CHM給你

這個是英文在線的

http://java.sun.com/javase/reference/api.jsp

居然成Oracle的了0 0!
http://download.oracle.com/javase/6/docs/api/

⑻ 跪求 javaapi1.7文檔 中文版

JAVA幫助文檔全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下載
JDK(Java Development Kit,Java開發包,Java開發工具)是一個寫Java的applet和應用程序的程序開發環境。它由一個處於操作系統層之上的運行環境還有開發者編譯,調試和運行用Java語言寫的applet和應用程序所需的工具組成。

JDK(Java Development Kit)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK(Software development kit)。

JDK包含的基本組件包括:

·javac – 編譯器,將源程序轉成位元組碼

·jar – 打包工具,將相關的類文件打包成一個文件

·javadoc – 文檔生成器,從源碼注釋中提取文檔

·jdb – debugger,查錯工具

JDK中還包括完整的JRE(Java Runtime Environment,Java運行環境),也被稱為private runtime。包括了用於產品環境的各種庫類,以及給開發員使用的補充庫,如國際化的庫、IDL庫。

JDK中還包括各種例子程序,用以展示Java API中的各部分。

JDK 官方下載
JDK1.5 :
http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-1_5_0_07-windows-i586-p.exe?BundledLineItemUUID=1Y5IBe.moNgAAAEhQaQH6rQU&OrderID=BjFIBe.miUsAAAEhJaQH6rQU&ProctID=83HACUFBFwsAAAEYQNw5AXuM&FileName=/jdk-1_5_0_07-windows-i586-p.exe

JDK1.6:
http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe

JDK 1.7 :
http://www.java.net/download/jdk7/archive/b134/binaries/jdk-7-ea-bin-b134-windows-i586-17_mar_2011.exe
http://www.java.net/download/jdk7/archive/b138/binaries/jdk-7-ea-bin-b138-windows-i586-14_apr_2011.exe
http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-i586.exe

JDK API 幫助文檔 :

JDK 5 :
Java SE 5 API 中文版 CHM 下載:http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/JDK_API_1_5_zh_CN.CHM
JAVASE5 EN Downloads: http://javadoc.allimant.org/dist/jdk150.zip

JDK 6 :

JDK6 API 中文版下載: https://jdk-api-zh-cn.dev.java.net/
JDK6 API 中文版 HTML 格式在線文檔:http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html/zh_CN/api/
JDK6 API 中文版zip 格式下載: http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html_zh_CN.zip
JDK6 API CHM中文參考下載:http://chinesedocument.com/upimg/soft/JDK6API中文參考070114.rar
Java SE 6 API 中文版 CHM 下載:http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/chm/JDK_API_1_6_zh_CN.CHM

ZIP格式:http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/html_zh_CN.zip
English Version : http://javadoc.allimant.org/dist/j2se6.zip

JDK 7 :
English Verson: http://download.java.net/jdk7/docs/api/
http://www.java.net/download/jdk7/archive/b138/jdk-7-ea-bin-b138-apidocs-14_apr_2011.zip

有關JDK 的具體詳細版本信息和JDK 全部版本的下載地址請參考以下網址:
http://java.sun.com/javase/downloads/index.jsp
http://java.sun.com/procts/archive/
http://www.allimant.org/javadoc/index.php
http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

⑼ 請教在線文檔的api

android中文版
api手冊地址:http://www.matools.com/api/android

Ant最新版
api手冊地址:http://www.matools.com/api/ant

ASM位元組碼操作
api手冊地址:http://www.matools.com/api/asm

Axis2最新版
api手冊地址:http://www.matools.com/api/axis2

Bash腳本
api手冊地址:http://www.matools.com/api/bash

Bootstrap 3
api手冊地址:http://www.matools.com/api/bootstrap3

Bootstrap 4
api手冊地址:http://www.matools.com/api/bootstrap4

C/C++
api手冊地址:http://www.matools.com/api/c

C3P0連接池
api手冊地址:http://www.matools.com/api/c3p0

CentOS使用文檔
api手冊地址:http://www.matools.com/api/centos

Commons-Beanutils
api手冊地址:http://www.matools.com/api/commons-beanutils

Commons-Fileupload
api手冊地址:http://www.matools.com/api/commons-fileupload

Commons-IO最新版
api手冊地址:http://www.matools.com/api/commons-io

Commons-Lang最新版
api手冊地址:http://www.matools.com/api/commons-long

Commons-Net最新版
api手冊地址:http://www.matools.com/api/commons-net

CSS 3
api手冊地址:http://www.matools.com/api/css

DBCP連接池
api手冊地址:http://www.matools.com/api/dbcp

Dom4j
api手冊地址:http://www.matools.com/api/dom4j

bbo中文文檔
api手冊地址:http://www.matools.com/api/bbo

EhCache
api手冊地址:http://www.matools.com/api/ehcache

Freemarker
api手冊地址:http://www.matools.com/api/freemarker

Go語言
api手冊地址:http://www.matools.com/api/go

Hadoop
api手冊地址:http://www.matools.com/api/hadoop

Hibernate中文版
api手冊地址:http://www.matools.com/api/hibernate

IKAnalyzer中文版
api手冊地址:http://www.matools.com/api/ikanalyzer

Java 10
api手冊地址:http://www.matools.com/api/java10

Java 6
api手冊地址:http://www.matools.com/api/java6

Java 7
api手冊地址:http://www.matools.com/api/java7

Java 8中文版
api手冊地址:http://www.matools.com/api/java8

jqGrid中文版
api手冊地址:http://www.matools.com/api/jqgrid

Jquery中文版
api手冊地址:http://www.matools.com/api/jquery

Json-lib
api手冊地址:http://www.matools.com/api/json-lib

Junit4最新版
api手冊地址:http://www.matools.com/api/junit

Kryo
api手冊地址:http://www.matools.com/api/kryo

Log4j最新版
api手冊地址:http://www.matools.com/api/log4j

Lucene
api手冊地址:http://www.matools.com/api/lucene

Maven
api手冊地址:http://www.matools.com/api/maven

Windows MFC中文版
api手冊地址:http://www.matools.com/api/msdn

Mybatis
api手冊地址:http://www.matools.com/api/mybatis

MySql中文版
api手冊地址:http://www.matools.com/api/mysql

Netty 3.6
api手冊地址:http://www.matools.com/api/netty

Nginx中文版
api手冊地址:http://www.matools.com/api/nginx

OpenJPA最新版
api手冊地址:http://www.matools.com/api/openjpa

PHP中文版
api手冊地址:http://www.matools.com/api/php

POI-apache
api手冊地址:http://www.matools.com/api/poi

QuickServer
api手冊地址:http://www.matools.com/api/quickserver

redis中文參考文檔
api手冊地址:http://www.matools.com/api/redis

Ruby
api手冊地址:http://www.matools.com/api/ruby

Ruby-library
api手冊地址:http://www.matools.com/api/ruby-library

Ruby on Rails
api手冊地址:http://www.matools.com/api/rubyonrails

Shiro
api手冊地址:http://www.matools.com/api/shiro

Spring最新版
api手冊地址:http://www.matools.com/api/spring

Spring for Android
api手冊地址:http://www.matools.com/api/spring-android

Spring Boot
api手冊地址:http://www.matools.com/api/spring-boot

Spring Cloud中文文檔
api手冊地址:http://www.matools.com/api/spring-cloud

Spring Security
api手冊地址:http://www.matools.com/api/spring-security

Spring中文版
api手冊地址:http://www.matools.com/api/spring-zh

Struts 2最新版
api手冊地址:http://www.matools.com/api/struts2

Taperstry
api手冊地址:http://www.matools.com/api/taperstry

TensorFlow中文
api手冊地址:http://www.matools.com/api/tensorflow

Tomcat
api手冊地址:http://www.matools.com/api/tomcat

Ubuntu
api手冊地址:http://www.matools.com/api/ubuntu

Velocity 1.7
api手冊地址:http://www.matools.com/api/velocity

VelocityTools2.0
api手冊地址:http://www.matools.com/api/velocity-tools

Vue Router中文參考
api手冊地址:http://www.matools.com/api/vue-router

vue.js中文文檔
api手冊地址:http://www.matools.com/api/vuejs

XMLBeans
api手冊地址:http://www.matools.com/api/xmlbeans

Yahoo UI中文版
api手冊地址:http://www.matools.com/api/yui

Zend Framework中文版
api手冊地址:http://www.matools.com/api/zend-framework

Zookeeper
api手冊地址:http://www.matools.com/api/zookeeper

⑽ 如何優雅的「編寫」api介面文檔

1. 拼寫要准確
介面函數一旦發布就不能改了,要保持兼容性,拼寫錯誤也不能改了,所以要仔細檢查拼寫,否則會被同行嘲笑很多年。
著名悲劇:unix 的 creat

2. 不僅是英文單詞不要拼錯,時態也不要錯。
比如:
返回bool的判斷函數,單數要用 is 復數要用are,這樣你的命名就和文檔中的描述保持了一致性。
表示狀態的變數或者函數要注意時態,比如 onXxxxChanged 表示xxx已經變化了,isConnecting表示正在連接。
正確的時態可以給使用者傳遞更豐富的信息。

3. 函數最好是動賓結構
動賓結構就是 doSomething,這樣的函數命名含義明確
比如: openFile, allocBuffer, setName
如果這個函數的動詞賓語就是這個對象本身,那麼可以省略掉賓語

4. 屬性命名最好是定語+名詞
比如 fileName, maxSize, textColor

5. 不要用生僻單詞,這不是秀英語的地方,也不要用漢語拼音
比如:rendezvous,估計大多數人要去查詞典才知道什麼意思,這個詞源自法語,是約會的意思。
Symbian OS里有個用它命名的函數,開發Symbian的是英國人,也許人家覺得很平常吧,反正我是查了詞典才知道的。

6. 不要自己發明縮寫
除非是約定俗成已經被廣泛使用的縮寫,否則老老實實用完整拼寫。
壞例子: count->cnt, manager->mngr password->pw button->btn
現代的IDE都有很好的自動完成功能,名字長一點沒關系的,可讀性更重要。

7. 保持方法的對稱性,有些方法一旦出現就應該是成對的,
比如 有open就要有close,有alloc就要有free,有add就要有remove,這些單詞基本是固定搭配的,使用者就很容易理解。
如果 open對應clear就有點讓人困惑了。

閱讀全文

與api在線文檔源碼相關的資料

熱點內容
暗黑破壞神3如何下載亞洲伺服器 瀏覽:949
linux中ftp伺服器地址怎麼看 瀏覽:434
ansys命令流do 瀏覽:122
單片機6502 瀏覽:765
自助洗車有什麼app 瀏覽:937
程序員離職率多少 瀏覽:322
程序員那麼可愛電視劇今天沒更新 瀏覽:337
我的世界地形演算法 瀏覽:343
台灣dns的伺服器地址雲空間 瀏覽:288
音樂噴泉軟體要什麼加密狗 瀏覽:501
androidhttpmime 瀏覽:774
威科夫操盤法pdf 瀏覽:981
演算法可以用圖表表示 瀏覽:949
山西太原php 瀏覽:274
常用cmd網路命令 瀏覽:677
hashmap7源碼分析 瀏覽:899
搜索引擎原理技術與系統pdf 瀏覽:362
運動估計演算法python 瀏覽:861
java正則1 瀏覽:539
redhatlinux最新 瀏覽:182