├── .gitattributes ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── pom.xml ├── swagger-dubbo-example ├── dubbo-api │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── deepoove │ │ └── swagger │ │ └── dubbo │ │ └── example │ │ └── api │ │ ├── pojo │ │ └── User.java │ │ └── service │ │ ├── AccountService.java │ │ ├── PushService.java │ │ └── UserService.java ├── dubbo-provider-springboot │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── deepoove │ │ │ └── dubbo │ │ │ └── provider │ │ │ └── springboot │ │ │ ├── Application.java │ │ │ └── provider │ │ │ ├── AccountServiceImpl.java │ │ │ ├── PushServiceImpl.java │ │ │ └── UserServiceImpl.java │ │ └── resources │ │ ├── application.yml │ │ ├── logback.xml │ │ └── static │ │ └── distv2 │ │ ├── css │ │ ├── print.css │ │ ├── reset.css │ │ ├── screen.css │ │ ├── style.css │ │ └── typography.css │ │ ├── fonts │ │ ├── DroidSans-Bold.ttf │ │ └── DroidSans.ttf │ │ ├── images │ │ ├── collapse.gif │ │ ├── expand.gif │ │ ├── explorer_icons.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon.ico │ │ ├── logo_small.png │ │ ├── pet_store_api.png │ │ ├── throbber.gif │ │ └── wordnik_api.png │ │ ├── index.html │ │ ├── lang │ │ ├── ca.js │ │ ├── el.js │ │ ├── en.js │ │ ├── es.js │ │ ├── fr.js │ │ ├── geo.js │ │ ├── it.js │ │ ├── ja.js │ │ ├── ko-kr.js │ │ ├── pl.js │ │ ├── pt.js │ │ ├── ru.js │ │ ├── tr.js │ │ ├── translator.js │ │ └── zh-cn.js │ │ ├── lib │ │ ├── backbone-min.js │ │ ├── es5-shim.js │ │ ├── handlebars-4.0.5.js │ │ ├── highlight.9.1.0.pack.js │ │ ├── highlight.9.1.0.pack_extended.js │ │ ├── jquery-1.8.0.min.js │ │ ├── jquery.ba-bbq.min.js │ │ ├── jquery.slideto.min.js │ │ ├── jquery.wiggle.min.js │ │ ├── js-yaml.min.js │ │ ├── jsoneditor.min.js │ │ ├── lodash.min.js │ │ ├── marked.js │ │ ├── object-assign-pollyfill.js │ │ ├── sanitize-html.min.js │ │ └── swagger-oauth.js │ │ ├── o2c.html │ │ ├── swagger-ui.js │ │ └── swagger-ui.min.js ├── dubbo-provider │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── deepoove │ │ │ └── swagger │ │ │ └── dubbo │ │ │ └── example │ │ │ ├── AnnotationScanConfig.java │ │ │ ├── SwaggerDubboConfig.java │ │ │ ├── controller │ │ │ └── UserController.java │ │ │ └── provider │ │ │ ├── AccountServiceImpl.java │ │ │ ├── PushServiceImpl.java │ │ │ └── UserServiceImpl.java │ │ ├── resources │ │ ├── application │ │ │ ├── remote-consumer.xml │ │ │ └── remote-provider.xml │ │ ├── logback.xml │ │ └── swagger-dubbo.properties │ │ └── webapp │ │ ├── WEB-INF │ │ ├── example-servlet.xml │ │ └── web.xml │ │ ├── dist │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── index.html │ │ ├── oauth2-redirect.html │ │ ├── swagger-ui-bundle.js │ │ ├── swagger-ui-bundle.js.map │ │ ├── swagger-ui-standalone-preset.js │ │ ├── swagger-ui-standalone-preset.js.map │ │ ├── swagger-ui.css │ │ ├── swagger-ui.css.map │ │ ├── swagger-ui.js │ │ └── swagger-ui.js.map │ │ └── distv2 │ │ ├── css │ │ ├── print.css │ │ ├── reset.css │ │ ├── screen.css │ │ ├── style.css │ │ └── typography.css │ │ ├── fonts │ │ ├── DroidSans-Bold.ttf │ │ └── DroidSans.ttf │ │ ├── images │ │ ├── collapse.gif │ │ ├── expand.gif │ │ ├── explorer_icons.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon.ico │ │ ├── logo_small.png │ │ ├── pet_store_api.png │ │ ├── throbber.gif │ │ └── wordnik_api.png │ │ ├── index.html │ │ ├── lang │ │ ├── ca.js │ │ ├── el.js │ │ ├── en.js │ │ ├── es.js │ │ ├── fr.js │ │ ├── geo.js │ │ ├── it.js │ │ ├── ja.js │ │ ├── ko-kr.js │ │ ├── pl.js │ │ ├── pt.js │ │ ├── ru.js │ │ ├── tr.js │ │ ├── translator.js │ │ └── zh-cn.js │ │ ├── lib │ │ ├── backbone-min.js │ │ ├── es5-shim.js │ │ ├── handlebars-4.0.5.js │ │ ├── highlight.9.1.0.pack.js │ │ ├── highlight.9.1.0.pack_extended.js │ │ ├── jquery-1.8.0.min.js │ │ ├── jquery.ba-bbq.min.js │ │ ├── jquery.slideto.min.js │ │ ├── jquery.wiggle.min.js │ │ ├── js-yaml.min.js │ │ ├── jsoneditor.min.js │ │ ├── lodash.min.js │ │ ├── marked.js │ │ ├── object-assign-pollyfill.js │ │ ├── sanitize-html.min.js │ │ └── swagger-oauth.js │ │ ├── o2c.html │ │ ├── swagger-ui.js │ │ └── swagger-ui.min.js ├── pom.xml ├── swagger_ui.png └── swagger_ui_3.png └── swagger-dubbo ├── pom.xml └── src ├── main └── java │ ├── com │ └── deepoove │ │ └── swagger │ │ └── dubbo │ │ ├── annotations │ │ └── EnableDubboSwagger.java │ │ ├── config │ │ ├── DubboPropertyConfig.java │ │ ├── DubboServiceScanner.java │ │ ├── DubboSwaggerConfig.java │ │ ├── ReferenceManager.java │ │ └── SwaggerDocCache.java │ │ ├── http │ │ └── HttpMatch.java │ │ ├── reader │ │ ├── DubboReaderExtension.java │ │ ├── NameDiscover.java │ │ ├── Reader.java │ │ ├── ReaderContext.java │ │ └── ReaderExtension.java │ │ └── web │ │ ├── DubboHttpController.java │ │ └── SwaggerDubboController.java │ └── springfox │ └── documentation │ └── spring │ └── web │ └── json │ └── Json.java └── test └── java └── com └── deepoove └── swagger └── dubbo ├── api ├── InterfaceServiceImplTest.java └── InterfaceServiceTest.java ├── http └── HttpMatchTest.java ├── json └── FastJsonHttpMessageConverterTest.java └── reader ├── NameDiscoverTest.java └── ReaderTest.java /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=Java 2 | *.css linguist-language=Java 3 | *.html linguist-language=Java -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | script: mvn clean install 3 | 4 | after_success: 5 | - mvn clean cobertura:cobertura org.eluder.coveralls:coveralls-maven-plugin:report 6 | 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Dubbo的Swagger服务文档 2 | 3 | ## swagger-dubbo 4 | 5 | [![Build Status](https://travis-ci.org/Sayi/swagger-dubbo.svg?branch=master)](https://travis-ci.org/Sayi/swagger-dubbo) ![jdk11+](https://img.shields.io/badge/jdk-1.6%2B-orange.svg) ![dubbo3.2.0+](https://img.shields.io/badge/dubbo-2.6.0%2B-blue.svg) 6 | 7 | Dubbo |ˈdʌbəʊ| 是阿里巴巴提供的分布式框架,Swagger围绕着OpenAPI规范,提供了一套设计、构建、文档化rest api的开源工具。 8 | 9 | * 通过swagger阅读接口文档 10 | * 开发人员可以用它来自测服务接口,也可以用它来模拟别人的服务接口返回值 11 | * 测试可以用它来验证接口的正确性,基于HTTP进行接口测试 12 | 13 | ## 前提 14 | - Apache Dubbo 3.2+ 15 | - JDK 11+ 16 | 17 | ## Maven 18 | ```xml 19 | 20 | com.deepoove 21 | swagger-dubbo 22 | 3.0.0-beta 23 | 24 | ``` 25 | 26 | ## SpringBoot 27 | `@EnableDubboSwagger`开启dubbo的swagger文档。 28 | 29 | ```java 30 | @EnableDubboSwagger 31 | public class Application { 32 | 33 | public static void main(String[] args) { 34 | SpringApplication.run(Application.class, args); 35 | } 36 | } 37 | ``` 38 | 39 | 参见[spring-boot示例](swagger-dubbo-example/dubbo-provider-springboot) 40 | 41 | ## swagger-ui查看文档 42 | 43 | 可以在任何能托管页面的容器内集成swagger-ui,配置swagger-dubbo提供的`http://ip:port/context/swagger-dubbo/api-docs`,可能需要跨域支持,详情参见官方文档 [swagger-ui](https://github.com/swagger-api/swagger-ui) 44 | 45 | @JKTerrific 在swagger-ui基础上开发了[**swagger-dubbo-ui**](https://github.com/JKTerrific/swagger-dubbo-ui), 解决了页面上的一些展示问题: 46 | * 参数为model时,输入框变更为输入域,并且支持JSON可视化 47 | * Model字段为date、byte时,支持展示具体类型,而不是string 48 | 49 | ![](swagger-dubbo-example/swagger_ui.png) 50 | 51 | ## 配置 52 | swagger-dubbo默认无需任何配置,但是也提供了一些可选项。 53 | 54 | 配置项说明: 55 | ```properties 56 | #http请求地址,默认为http://ip:port/h/com.XXX.XxService/method 57 | swagger.dubbo.http=h 58 | 59 | #dubbo 服务版本号 60 | swagger.dubbo.application.version = 1.0 61 | #dubbo服务groupId 62 | swagger.dubbo.application.groupId = com.deepoove 63 | #dubbo服务artifactId 64 | swagger.dubbo.application.artifactId = dubbo.api 65 | 66 | #rpc zk调用 or 本地调用 67 | swagger.dubbo.cluster = rpc 68 | 69 | #是否启用swagger-dubbo,默认为true 70 | swagger.dubbo.enable = true 71 | ``` 72 | 73 | ## swagger-dubbo集成注意事项 74 | * 对于服务接口方法重载,为了在http请求中唯一确认一个方法,需要使用注解`@ApiOperation(nickname = "byArea")`,通过nickname标记唯一路径(如果不填写,将只显示一个方法)。此时,rest的请求地址为:`http://ip:port/h/com.XXX.XxService/method/byArea` 75 | [Stackoverflow:重载的方法能够映射到同一URL地址吗](http://stackoverflow.com/questions/17196766/can-resteasy-choose-method-based-on-query-params) 76 | 77 | * Object对象作为http请求参数为json string格式。 78 | [Stackoverflow:POST的方法能够接收多个参数吗?](http://stackoverflow.com/questions/5553218/jax-rs-post-multiple-objects) 79 | 80 | * swagger注解既可以写在接口上,也可以写在实现类上。 81 | * 原生类型作为http请求参数为必填。 82 | 83 | 84 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | 5 | org.sonatype.oss 6 | oss-parent 7 | 7 8 | 9 | 10 | com.deepoove 11 | swagger-dubbo-project 12 | 3.0.0-SNAPSHOT 13 | pom 14 | 15 | 16 | swagger-dubbo 17 | swagger-dubbo-example 18 | 19 | 20 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-api/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | com.deepoove 8 | swagger-dubbo-example 9 | 3.0.0-SNAPSHOT 10 | 11 | dubbo-api 12 | jar 13 | dubbo-api 14 | http://maven.apache.org 15 | 16 | UTF-8 17 | 18 | 19 | 20 | 21 | io.swagger 22 | swagger-annotations 23 | 1.6.13 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-api/src/main/java/com/deepoove/swagger/dubbo/example/api/pojo/User.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example.api.pojo; 2 | 3 | import java.io.Serializable; 4 | 5 | import io.swagger.annotations.ApiModelProperty; 6 | 7 | public class User implements Serializable { 8 | 9 | private static final long serialVersionUID = -1169812613737118557L; 10 | private String id; 11 | @ApiModelProperty(value = "用户姓名") 12 | private String name; 13 | private String site; 14 | 15 | public String getId() { 16 | return id; 17 | } 18 | 19 | public void setId(String id) { 20 | this.id = id; 21 | } 22 | 23 | public String getName() { 24 | return name; 25 | } 26 | 27 | public void setName(String name) { 28 | this.name = name; 29 | } 30 | 31 | public String getSite() { 32 | return site; 33 | } 34 | 35 | public void setSite(String site) { 36 | this.site = site; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-api/src/main/java/com/deepoove/swagger/dubbo/example/api/service/AccountService.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example.api.service; 2 | 3 | public interface AccountService { 4 | 5 | void logout(String account); 6 | 7 | boolean login(String account, String password); 8 | 9 | boolean login(String account, int code); 10 | 11 | void updateInfo(boolean isBoy, Integer number); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-api/src/main/java/com/deepoove/swagger/dubbo/example/api/service/PushService.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example.api.service; 2 | 3 | public interface PushService { 4 | 5 | String push(String account); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-api/src/main/java/com/deepoove/swagger/dubbo/example/api/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example.api.service; 2 | 3 | import java.util.List; 4 | 5 | import com.deepoove.swagger.dubbo.example.api.pojo.User; 6 | 7 | import io.swagger.annotations.ApiOperation; 8 | import io.swagger.annotations.ApiParam; 9 | 10 | public interface UserService { 11 | 12 | @ApiOperation(nickname = "byPhone", value = "查询用户", notes = "通过phone取用户信息", response = User.class, responseContainer = "List") 13 | List query(@ApiParam(value = "用户phone") String phone); 14 | 15 | @ApiOperation(nickname = "byArea", value = "查询用户", notes = "通过城市地区code取用户信息", response = User.class, responseContainer = "List") 16 | List query(@ApiParam(value = "城市地区code") int areaCode); 17 | 18 | @ApiOperation(value = "获取用户", notes = "通过id取用户信息", response = User.class, httpMethod="GET") 19 | User get(@ApiParam(value = "用户id") String id); 20 | 21 | @ApiOperation(value = "保存用户", notes = "保存用户信息") 22 | void save(@ApiParam(value = "用户信息") User user); 23 | 24 | @ApiOperation(value = "更新用户", notes = "更新用户信息") 25 | User update(@ApiParam(value = "用户信息") User user); 26 | 27 | @ApiOperation(value = "删除用户", notes = "保存用户信息") 28 | void delete(@ApiParam(value = "用户id") String id); 29 | 30 | @ApiOperation(value = "比较用户") 31 | int compare(@ApiParam(value = "用户id", required=true) User src, User dest); 32 | 33 | } 34 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | .sts4-cache 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | /nbproject/private/ 21 | /build/ 22 | /nbbuild/ 23 | /dist/ 24 | /nbdist/ 25 | /.nb-gradle/ -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.3/apache-maven-3.5.3-bin.zip 2 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/README.md: -------------------------------------------------------------------------------- 1 | ## dubbo-provider-springboot 示例 2 | 3 | spring boot demo启动前准备: 4 | 5 | 1. 工程导入swagger-dubbo-example/dubbo-api接口模块 6 | 2. 修改`application.yml`, 配置注册中心 7 | 8 | 运行Application。 9 | 10 | 访问如下url查看swagger数据 11 | 12 | ``` 13 | http://127.0.0.1:8077/swagger-dubbo/api-docs 14 | ``` 15 | 16 | 访问swagger-ui 17 | 18 | ``` 19 | http://127.0.0.1:8077/distv2/index.html 20 | ``` -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/mvnw.cmd: -------------------------------------------------------------------------------- 1 | @REM ---------------------------------------------------------------------------- 2 | @REM Licensed to the Apache Software Foundation (ASF) under one 3 | @REM or more contributor license agreements. See the NOTICE file 4 | @REM distributed with this work for additional information 5 | @REM regarding copyright ownership. The ASF licenses this file 6 | @REM to you under the Apache License, Version 2.0 (the 7 | @REM "License"); you may not use this file except in compliance 8 | @REM with the License. You may obtain a copy of the License at 9 | @REM 10 | @REM http://www.apache.org/licenses/LICENSE-2.0 11 | @REM 12 | @REM Unless required by applicable law or agreed to in writing, 13 | @REM software distributed under the License is distributed on an 14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | @REM KIND, either express or implied. See the License for the 16 | @REM specific language governing permissions and limitations 17 | @REM under the License. 18 | @REM ---------------------------------------------------------------------------- 19 | 20 | @REM ---------------------------------------------------------------------------- 21 | @REM Maven2 Start Up Batch script 22 | @REM 23 | @REM Required ENV vars: 24 | @REM JAVA_HOME - location of a JDK home dir 25 | @REM 26 | @REM Optional ENV vars 27 | @REM M2_HOME - location of maven2's installed home dir 28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands 29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending 30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven 31 | @REM e.g. to debug Maven itself, use 32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files 34 | @REM ---------------------------------------------------------------------------- 35 | 36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' 37 | @echo off 38 | @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' 39 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% 40 | 41 | @REM set %HOME% to equivalent of $HOME 42 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") 43 | 44 | @REM Execute a user defined script before this one 45 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre 46 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending 47 | if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" 48 | if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" 49 | :skipRcPre 50 | 51 | @setlocal 52 | 53 | set ERROR_CODE=0 54 | 55 | @REM To isolate internal variables from possible post scripts, we use another setlocal 56 | @setlocal 57 | 58 | @REM ==== START VALIDATION ==== 59 | if not "%JAVA_HOME%" == "" goto OkJHome 60 | 61 | echo. 62 | echo Error: JAVA_HOME not found in your environment. >&2 63 | echo Please set the JAVA_HOME variable in your environment to match the >&2 64 | echo location of your Java installation. >&2 65 | echo. 66 | goto error 67 | 68 | :OkJHome 69 | if exist "%JAVA_HOME%\bin\java.exe" goto init 70 | 71 | echo. 72 | echo Error: JAVA_HOME is set to an invalid directory. >&2 73 | echo JAVA_HOME = "%JAVA_HOME%" >&2 74 | echo Please set the JAVA_HOME variable in your environment to match the >&2 75 | echo location of your Java installation. >&2 76 | echo. 77 | goto error 78 | 79 | @REM ==== END VALIDATION ==== 80 | 81 | :init 82 | 83 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". 84 | @REM Fallback to current working directory if not found. 85 | 86 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% 87 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir 88 | 89 | set EXEC_DIR=%CD% 90 | set WDIR=%EXEC_DIR% 91 | :findBaseDir 92 | IF EXIST "%WDIR%"\.mvn goto baseDirFound 93 | cd .. 94 | IF "%WDIR%"=="%CD%" goto baseDirNotFound 95 | set WDIR=%CD% 96 | goto findBaseDir 97 | 98 | :baseDirFound 99 | set MAVEN_PROJECTBASEDIR=%WDIR% 100 | cd "%EXEC_DIR%" 101 | goto endDetectBaseDir 102 | 103 | :baseDirNotFound 104 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR% 105 | cd "%EXEC_DIR%" 106 | 107 | :endDetectBaseDir 108 | 109 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig 110 | 111 | @setlocal EnableExtensions EnableDelayedExpansion 112 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a 113 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% 114 | 115 | :endReadAdditionalConfig 116 | 117 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" 118 | 119 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" 120 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 121 | 122 | %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* 123 | if ERRORLEVEL 1 goto error 124 | goto end 125 | 126 | :error 127 | set ERROR_CODE=1 128 | 129 | :end 130 | @endlocal & set ERROR_CODE=%ERROR_CODE% 131 | 132 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost 133 | @REM check for post script, once with legacy .bat ending and once with .cmd ending 134 | if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" 135 | if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" 136 | :skipRcPost 137 | 138 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' 139 | if "%MAVEN_BATCH_PAUSE%" == "on" pause 140 | 141 | if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% 142 | 143 | exit /B %ERROR_CODE% 144 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | com.deepoove 7 | dubbo-provider-springboot 8 | 0.0.1-SNAPSHOT 9 | jar 10 | 11 | dubbo-provider-springboot 12 | Demo project for Spring Boot 13 | 14 | 15 | 16 | UTF-8 17 | UTF-8 18 | 11 19 | 20 | 21 | 22 | 23 | org.springframework.boot 24 | spring-boot-dependencies 25 | 2.7.15 26 | pom 27 | import 28 | 29 | 30 | 31 | 32 | 33 | org.springframework.boot 34 | spring-boot-starter-web 35 | 36 | 37 | com.deepoove 38 | dubbo-api 39 | 3.0.0-SNAPSHOT 40 | 41 | 42 | com.deepoove 43 | swagger-dubbo 44 | 3.0.0-SNAPSHOT 45 | 46 | 47 | org.apache.dubbo 48 | dubbo-spring-boot-starter 49 | 3.2.0 50 | 51 | 52 | org.apache.dubbo 53 | dubbo-registry-nacos 54 | 3.2.0 55 | 56 | 57 | 58 | 59 | org.springframework.boot 60 | spring-boot-starter-test 61 | test 62 | 63 | 64 | com.deepoove 65 | swagger-dubbo 66 | 3.0.0-beta 67 | 68 | 69 | 70 | 71 | 72 | 73 | org.springframework.boot 74 | spring-boot-maven-plugin 75 | 76 | 77 | 78 | org.projectlombok 79 | lombok 80 | 81 | 82 | 83 | 84 | 85 | 86 | repackage 87 | 88 | 89 | 90 | 2.7.15 91 | 92 | 93 | 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/java/com/deepoove/dubbo/provider/springboot/Application.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.dubbo.provider.springboot; 2 | 3 | import com.deepoove.swagger.dubbo.annotations.EnableDubboSwagger; 4 | import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | 8 | @SpringBootApplication 9 | @EnableDubbo 10 | @EnableDubboSwagger 11 | public class Application { 12 | 13 | public static void main(String[] args) { 14 | SpringApplication.run(Application.class, args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/java/com/deepoove/dubbo/provider/springboot/provider/AccountServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.dubbo.provider.springboot.provider; 2 | 3 | import com.alibaba.dubbo.config.annotation.Service; 4 | import com.deepoove.swagger.dubbo.example.api.service.AccountService; 5 | 6 | import io.swagger.annotations.Api; 7 | import io.swagger.annotations.ApiOperation; 8 | import io.swagger.annotations.ApiParam; 9 | import org.apache.dubbo.config.annotation.DubboService; 10 | 11 | @Api(value = "帐号服务") 12 | @DubboService 13 | public class AccountServiceImpl implements AccountService { 14 | 15 | @Override 16 | @ApiOperation(value = "登出", notes = "退出用户信息") 17 | public void logout(String account) {} 18 | 19 | @Override 20 | @ApiOperation(value = "登录") 21 | public boolean login(@ApiParam(value = "用户帐号") String account, 22 | @ApiParam(value = "用户密码") String password) { 23 | return false; 24 | } 25 | 26 | @Override 27 | @ApiOperation(nickname="byCode", value = "登录", notes="邀请码登录") 28 | public boolean login(@ApiParam(value = "用户帐号") String account, @ApiParam(value = "邀请码") int code) { 29 | return false; 30 | } 31 | 32 | @Override 33 | public void updateInfo(boolean isBoy, Integer number) { 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/java/com/deepoove/dubbo/provider/springboot/provider/PushServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.dubbo.provider.springboot.provider; 2 | 3 | import com.alibaba.dubbo.config.annotation.Service; 4 | import com.deepoove.swagger.dubbo.example.api.service.PushService; 5 | 6 | import io.swagger.annotations.ApiOperation; 7 | import io.swagger.annotations.ApiParam; 8 | import org.apache.dubbo.config.annotation.DubboService; 9 | 10 | @DubboService 11 | public class PushServiceImpl implements PushService{ 12 | 13 | @ApiOperation(value = "推送", notes = "推送消息至指定帐号") 14 | @Override 15 | public String push(@ApiParam(value="帐号") String account) { 16 | return "中文字符串"; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/java/com/deepoove/dubbo/provider/springboot/provider/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.dubbo.provider.springboot.provider; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import com.alibaba.dubbo.config.annotation.Service; 7 | import com.deepoove.swagger.dubbo.example.api.pojo.User; 8 | import com.deepoove.swagger.dubbo.example.api.service.UserService; 9 | import org.apache.dubbo.config.annotation.DubboService; 10 | 11 | @DubboService 12 | public class UserServiceImpl implements UserService { 13 | 14 | static User user = new User(); 15 | static List list = new ArrayList(); 16 | 17 | static { 18 | user.setId("Sayi"); 19 | user.setName("卅一"); 20 | user.setSite("http://www.deepoove.com"); 21 | list.add(user); 22 | } 23 | 24 | @Override 25 | public List query(String phone) { 26 | return list; 27 | } 28 | 29 | @Override 30 | public List query(int areaCode) { 31 | return list; 32 | } 33 | 34 | @Override 35 | public User get(String id) { 36 | return user; 37 | } 38 | 39 | @Override 40 | public void save(User user) {} 41 | 42 | @Override 43 | public User update(User user) { 44 | return null; 45 | } 46 | 47 | @Override 48 | public void delete(String id) {} 49 | 50 | @Override 51 | public int compare(User src, User dest) { 52 | return 0; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8077 3 | 4 | dubbo: 5 | application: 6 | name: demo-application 7 | qos-enable: false 8 | register-mode: interface 9 | protocol: 10 | name: dubbo 11 | port: -1 12 | registry: 13 | address: nacos://127.0.0.1:8848?namespace=public®ister-consumer-url=true -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/css/reset.css: -------------------------------------------------------------------------------- 1 | a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0} -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/css/style.css: -------------------------------------------------------------------------------- 1 | .swagger-section #header a#logo{font-size:1.5em;font-weight:700;text-decoration:none;padding:20px 0 20px 40px}#text-head{font-size:80px;font-family:Roboto,sans-serif;color:#fff;float:right;margin-right:20%}.navbar-fixed-top .navbar-brand,.navbar-fixed-top .navbar-nav,.navbar-header{height:auto}.navbar-inverse{background-color:#000;border-color:#000}#navbar-brand{margin-left:20%}.navtext{font-size:10px}.h1,h1{font-size:60px}.navbar-default .navbar-header .navbar-brand{color:#a2dfee}.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a{color:#393939;font-family:Arvo,serif;font-size:1.5em}.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover{color:#000}.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2{color:#525252;padding-left:0;display:block;clear:none;float:left;font-family:Arvo,serif;font-weight:700}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#0a0a0a}.container1{width:1500px;margin:auto;margin-top:0;background-repeat:no-repeat;background-position:-40px -20px;margin-bottom:210px}.container-inner{width:1200px;margin:auto;background-color:hsla(192,8%,88%,.75);padding-bottom:40px;padding-top:40px;border-radius:15px}.header-content{padding:0;width:1000px}.title1{font-size:80px;font-family:Vollkorn,serif;color:#404040;text-align:center;padding-top:40px;padding-bottom:100px}#icon{margin-top:-18px}.subtext{font-size:25px;font-style:italic;color:#08b;text-align:right;padding-right:250px}.bg-primary{background-color:#00468b}.navbar-default .nav>li>a,.navbar-default .nav>li>a:focus,.navbar-default .nav>li>a:focus:hover,.navbar-default .nav>li>a:hover{color:#08b}.text-faded{font-size:25px;font-family:Vollkorn,serif}.section-heading{font-family:Vollkorn,serif;font-size:45px;padding-bottom:10px}hr{border-color:#00468b;padding-bottom:10px}.description{margin-top:20px;padding-bottom:200px}.description li{font-family:Vollkorn,serif;font-size:25px;color:#525252;margin-left:28%;padding-top:5px}.gap{margin-top:200px}.troubleshootingtext{color:hsla(0,0%,100%,.7);padding-left:30%}.troubleshootingtext li{list-style-type:circle;font-size:25px;padding-bottom:5px}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.block.response_body.json:hover{cursor:pointer}.backdrop{color:blue}#myModal{height:100%}.modal-backdrop{bottom:0;position:fixed}.curl{padding:10px;font-family:Anonymous Pro,Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace;font-size:.9em;max-height:400px;margin-top:5px;overflow-y:auto;background-color:#fcf6db;border:1px solid #e5e0c6;border-radius:4px}.curl_title{font-size:1.1em;margin:0;padding:15px 0 5px;font-family:Open Sans,Helvetica Neue,Arial,sans-serif;font-weight:500;line-height:1.1}.footer{display:none}.swagger-section .swagger-ui-wrap h2{padding:0}h2{margin:0;margin-bottom:5px}.markdown p,.swagger-section .swagger-ui-wrap .code{font-size:15px;font-family:Arvo,serif}.swagger-section .swagger-ui-wrap b{font-family:Arvo,serif}#signin:hover{cursor:pointer}.dropdown-menu{padding:15px}.navbar-right .dropdown-menu{left:0;right:auto}#signinbutton{width:100%;height:32px;font-size:13px;font-weight:700;color:#08b}.navbar-default .nav>li .details{color:#000;text-transform:none;font-size:15px;font-weight:400;font-family:Open Sans,sans-serif;font-style:italic;line-height:20px;top:-2px}.navbar-default .nav>li .details:hover{color:#000}#signout{width:100%;height:32px;font-size:13px;font-weight:700;color:#08b} -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/css/typography.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/css/typography.css -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/fonts/DroidSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/fonts/DroidSans-Bold.ttf -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/fonts/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/fonts/DroidSans.ttf -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/collapse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/collapse.gif -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/expand.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/expand.gif -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/explorer_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/explorer_icons.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/favicon-16x16.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/favicon-32x32.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/favicon.ico -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/logo_small.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/pet_store_api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/pet_store_api.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/throbber.gif -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/wordnik_api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/images/wordnik_api.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Swagger UI 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 91 | 92 | 93 | 94 | 104 | 105 |
 
106 |
107 | 108 | 109 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/ca.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Advertència: Obsolet", 6 | "Implementation Notes":"Notes d'implementació", 7 | "Response Class":"Classe de la Resposta", 8 | "Status":"Estatus", 9 | "Parameters":"Paràmetres", 10 | "Parameter":"Paràmetre", 11 | "Value":"Valor", 12 | "Description":"Descripció", 13 | "Parameter Type":"Tipus del Paràmetre", 14 | "Data Type":"Tipus de la Dada", 15 | "Response Messages":"Missatges de la Resposta", 16 | "HTTP Status Code":"Codi d'Estatus HTTP", 17 | "Reason":"Raó", 18 | "Response Model":"Model de la Resposta", 19 | "Request URL":"URL de la Sol·licitud", 20 | "Response Body":"Cos de la Resposta", 21 | "Response Code":"Codi de la Resposta", 22 | "Response Headers":"Capçaleres de la Resposta", 23 | "Hide Response":"Amagar Resposta", 24 | "Try it out!":"Prova-ho!", 25 | "Show/Hide":"Mostrar/Amagar", 26 | "List Operations":"Llista Operacions", 27 | "Expand Operations":"Expandir Operacions", 28 | "Raw":"Cru", 29 | "can't parse JSON. Raw result":"no puc analitzar el JSON. Resultat cru", 30 | "Example Value":"Valor d'Exemple", 31 | "Model Schema":"Esquema del Model", 32 | "Model":"Model", 33 | "apply":"aplicar", 34 | "Username":"Nom d'usuari", 35 | "Password":"Contrasenya", 36 | "Terms of service":"Termes del servei", 37 | "Created by":"Creat per", 38 | "See more at":"Veure més en", 39 | "Contact the developer":"Contactar amb el desenvolupador", 40 | "api version":"versió de la api", 41 | "Response Content Type":"Tipus de Contingut de la Resposta", 42 | "fetching resource":"recollint recurs", 43 | "fetching resource list":"recollins llista de recursos", 44 | "Explore":"Explorant", 45 | "Show Swagger Petstore Example Apis":"Mostrar API d'Exemple Swagger Petstore", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"No es pot llegir del servidor. Potser no teniu la configuració de control d'accés apropiada.", 47 | "Please specify the protocol for":"Si us plau, especifiqueu el protocol per a", 48 | "Can't read swagger JSON from":"No es pot llegir el JSON de swagger des de", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Finalitzada la càrrega del recurs informatiu. Renderitzant Swagger UI", 50 | "Unable to read api":"No es pot llegir l'api", 51 | "from path":"des de la ruta", 52 | "server returned":"el servidor ha retornat" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/el.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Προειδοποίηση: Έχει αποσυρθεί", 6 | "Implementation Notes":"Σημειώσεις Υλοποίησης", 7 | "Response Class":"Απόκριση", 8 | "Status":"Κατάσταση", 9 | "Parameters":"Παράμετροι", 10 | "Parameter":"Παράμετρος", 11 | "Value":"Τιμή", 12 | "Description":"Περιγραφή", 13 | "Parameter Type":"Τύπος Παραμέτρου", 14 | "Data Type":"Τύπος Δεδομένων", 15 | "Response Messages":"Μηνύματα Απόκρισης", 16 | "HTTP Status Code":"Κωδικός Κατάστασης HTTP", 17 | "Reason":"Αιτιολογία", 18 | "Response Model":"Μοντέλο Απόκρισης", 19 | "Request URL":"URL Αιτήματος", 20 | "Response Body":"Σώμα Απόκρισης", 21 | "Response Code":"Κωδικός Απόκρισης", 22 | "Response Headers":"Επικεφαλίδες Απόκρισης", 23 | "Hide Response":"Απόκρυψη Απόκρισης", 24 | "Headers":"Επικεφαλίδες", 25 | "Try it out!":"Δοκιμάστε το!", 26 | "Show/Hide":"Εμφάνιση/Απόκρυψη", 27 | "List Operations":"Λίστα Λειτουργιών", 28 | "Expand Operations":"Ανάπτυξη Λειτουργιών", 29 | "Raw":"Ακατέργαστο", 30 | "can't parse JSON. Raw result":"αδυναμία ανάλυσης JSON. Ακατέργαστο αποτέλεσμα", 31 | "Example Value":"Παράδειγμα Τιμής", 32 | "Model Schema":"Σχήμα Μοντέλου", 33 | "Model":"Μοντέλο", 34 | "Click to set as parameter value":"Πατήστε για να θέσετε τιμή παραμέτρου", 35 | "apply":"εφαρμογή", 36 | "Username":"Όνομα χρήση", 37 | "Password":"Κωδικός πρόσβασης", 38 | "Terms of service":"Όροι χρήσης", 39 | "Created by":"Δημιουργήθηκε από", 40 | "See more at":"Δείτε περισσότερα στο", 41 | "Contact the developer":"Επικοινωνήστε με τον προγραμματιστή", 42 | "api version":"έκδοση api", 43 | "Response Content Type":"Τύπος Περιεχομένου Απόκρισης", 44 | "Parameter content type:":"Τύπος περιεχομένου παραμέτρου:", 45 | "fetching resource":"παραλαβή πόρου", 46 | "fetching resource list":"παραλαβή λίστας πόρων", 47 | "Explore":"Εξερεύνηση", 48 | "Show Swagger Petstore Example Apis":"Εμφάνιση Api Δειγμάτων Petstore του Swagger", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Αδυναμία ανάγνωσης από τον εξυπηρετητή. Μπορεί να μην έχει κατάλληλες ρυθμίσεις για access-control-origin.", 50 | "Please specify the protocol for":"Παρακαλώ προσδιορίστε το πρωτόκολλο για", 51 | "Can't read swagger JSON from":"Αδυναμία ανάγνωσης swagger JSON από", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"Ολοκλήρωση Φόρτωσης Πληροφορικών Πόρου. Παρουσίαση Swagger UI", 53 | "Unable to read api":"Αδυναμία ανάγνωσης api", 54 | "from path":"από το μονοπάτι", 55 | "server returned":"ο εξυπηρετηρής επέστρεψε" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/en.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Warning: Deprecated", 6 | "Implementation Notes":"Implementation Notes", 7 | "Response Class":"Response Class", 8 | "Status":"Status", 9 | "Parameters":"Parameters", 10 | "Parameter":"Parameter", 11 | "Value":"Value", 12 | "Description":"Description", 13 | "Parameter Type":"Parameter Type", 14 | "Data Type":"Data Type", 15 | "Response Messages":"Response Messages", 16 | "HTTP Status Code":"HTTP Status Code", 17 | "Reason":"Reason", 18 | "Response Model":"Response Model", 19 | "Request URL":"Request URL", 20 | "Response Body":"Response Body", 21 | "Response Code":"Response Code", 22 | "Response Headers":"Response Headers", 23 | "Hide Response":"Hide Response", 24 | "Headers":"Headers", 25 | "Try it out!":"Try it out!", 26 | "Show/Hide":"Show/Hide", 27 | "List Operations":"List Operations", 28 | "Expand Operations":"Expand Operations", 29 | "Raw":"Raw", 30 | "can't parse JSON. Raw result":"can't parse JSON. Raw result", 31 | "Example Value":"Example Value", 32 | "Model Schema":"Model Schema", 33 | "Model":"Model", 34 | "Click to set as parameter value":"Click to set as parameter value", 35 | "apply":"apply", 36 | "Username":"Username", 37 | "Password":"Password", 38 | "Terms of service":"Terms of service", 39 | "Created by":"Created by", 40 | "See more at":"See more at", 41 | "Contact the developer":"Contact the developer", 42 | "api version":"api version", 43 | "Response Content Type":"Response Content Type", 44 | "Parameter content type:":"Parameter content type:", 45 | "fetching resource":"fetching resource", 46 | "fetching resource list":"fetching resource list", 47 | "Explore":"Explore", 48 | "Show Swagger Petstore Example Apis":"Show Swagger Petstore Example Apis", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Can't read from server. It may not have the appropriate access-control-origin settings.", 50 | "Please specify the protocol for":"Please specify the protocol for", 51 | "Can't read swagger JSON from":"Can't read swagger JSON from", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"Finished Loading Resource Information. Rendering Swagger UI", 53 | "Unable to read api":"Unable to read api", 54 | "from path":"from path", 55 | "server returned":"server returned" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/es.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Advertencia: Obsoleto", 6 | "Implementation Notes":"Notas de implementación", 7 | "Response Class":"Clase de la Respuesta", 8 | "Status":"Status", 9 | "Parameters":"Parámetros", 10 | "Parameter":"Parámetro", 11 | "Value":"Valor", 12 | "Description":"Descripción", 13 | "Parameter Type":"Tipo del Parámetro", 14 | "Data Type":"Tipo del Dato", 15 | "Response Messages":"Mensajes de la Respuesta", 16 | "HTTP Status Code":"Código de Status HTTP", 17 | "Reason":"Razón", 18 | "Response Model":"Modelo de la Respuesta", 19 | "Request URL":"URL de la Solicitud", 20 | "Response Body":"Cuerpo de la Respuesta", 21 | "Response Code":"Código de la Respuesta", 22 | "Response Headers":"Encabezados de la Respuesta", 23 | "Hide Response":"Ocultar Respuesta", 24 | "Try it out!":"Pruébalo!", 25 | "Show/Hide":"Mostrar/Ocultar", 26 | "List Operations":"Listar Operaciones", 27 | "Expand Operations":"Expandir Operaciones", 28 | "Raw":"Crudo", 29 | "can't parse JSON. Raw result":"no puede parsear el JSON. Resultado crudo", 30 | "Example Value":"Valor de Ejemplo", 31 | "Model Schema":"Esquema del Modelo", 32 | "Model":"Modelo", 33 | "apply":"aplicar", 34 | "Username":"Nombre de usuario", 35 | "Password":"Contraseña", 36 | "Terms of service":"Términos de Servicio", 37 | "Created by":"Creado por", 38 | "See more at":"Ver más en", 39 | "Contact the developer":"Contactar al desarrollador", 40 | "api version":"versión de la api", 41 | "Response Content Type":"Tipo de Contenido (Content Type) de la Respuesta", 42 | "fetching resource":"buscando recurso", 43 | "fetching resource list":"buscando lista del recurso", 44 | "Explore":"Explorar", 45 | "Show Swagger Petstore Example Apis":"Mostrar Api Ejemplo de Swagger Petstore", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"No se puede leer del servidor. Tal vez no tiene la configuración de control de acceso de origen (access-control-origin) apropiado.", 47 | "Please specify the protocol for":"Por favor, especificar el protocola para", 48 | "Can't read swagger JSON from":"No se puede leer el JSON de swagger desde", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Finalizada la carga del recurso de Información. Mostrando Swagger UI", 50 | "Unable to read api":"No se puede leer la api", 51 | "from path":"desde ruta", 52 | "server returned":"el servidor retornó" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/fr.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Avertissement : Obsolète", 6 | "Implementation Notes":"Notes d'implémentation", 7 | "Response Class":"Classe de la réponse", 8 | "Status":"Statut", 9 | "Parameters":"Paramètres", 10 | "Parameter":"Paramètre", 11 | "Value":"Valeur", 12 | "Description":"Description", 13 | "Parameter Type":"Type du paramètre", 14 | "Data Type":"Type de données", 15 | "Response Messages":"Messages de la réponse", 16 | "HTTP Status Code":"Code de statut HTTP", 17 | "Reason":"Raison", 18 | "Response Model":"Modèle de réponse", 19 | "Request URL":"URL appelée", 20 | "Response Body":"Corps de la réponse", 21 | "Response Code":"Code de la réponse", 22 | "Response Headers":"En-têtes de la réponse", 23 | "Hide Response":"Cacher la réponse", 24 | "Headers":"En-têtes", 25 | "Try it out!":"Testez !", 26 | "Show/Hide":"Afficher/Masquer", 27 | "List Operations":"Liste des opérations", 28 | "Expand Operations":"Développer les opérations", 29 | "Raw":"Brut", 30 | "can't parse JSON. Raw result":"impossible de décoder le JSON. Résultat brut", 31 | "Example Value":"Exemple la valeur", 32 | "Model Schema":"Définition du modèle", 33 | "Model":"Modèle", 34 | "apply":"appliquer", 35 | "Username":"Nom d'utilisateur", 36 | "Password":"Mot de passe", 37 | "Terms of service":"Conditions de service", 38 | "Created by":"Créé par", 39 | "See more at":"Voir plus sur", 40 | "Contact the developer":"Contacter le développeur", 41 | "api version":"version de l'api", 42 | "Response Content Type":"Content Type de la réponse", 43 | "fetching resource":"récupération de la ressource", 44 | "fetching resource list":"récupération de la liste de ressources", 45 | "Explore":"Explorer", 46 | "Show Swagger Petstore Example Apis":"Montrer les Apis de l'exemple Petstore de Swagger", 47 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Impossible de lire à partir du serveur. Il se peut que les réglages access-control-origin ne soient pas appropriés.", 48 | "Please specify the protocol for":"Veuillez spécifier un protocole pour", 49 | "Can't read swagger JSON from":"Impossible de lire le JSON swagger à partir de", 50 | "Finished Loading Resource Information. Rendering Swagger UI":"Chargement des informations terminé. Affichage de Swagger UI", 51 | "Unable to read api":"Impossible de lire l'api", 52 | "from path":"à partir du chemin", 53 | "server returned":"réponse du serveur" 54 | }); 55 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/geo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"ყურადღება: აღარ გამოიყენება", 6 | "Implementation Notes":"იმპლემენტაციის აღწერა", 7 | "Response Class":"რესპონს კლასი", 8 | "Status":"სტატუსი", 9 | "Parameters":"პარამეტრები", 10 | "Parameter":"პარამეტრი", 11 | "Value":"მნიშვნელობა", 12 | "Description":"აღწერა", 13 | "Parameter Type":"პარამეტრის ტიპი", 14 | "Data Type":"მონაცემის ტიპი", 15 | "Response Messages":"პასუხი", 16 | "HTTP Status Code":"HTTP სტატუსი", 17 | "Reason":"მიზეზი", 18 | "Response Model":"რესპონს მოდელი", 19 | "Request URL":"მოთხოვნის URL", 20 | "Response Body":"პასუხის სხეული", 21 | "Response Code":"პასუხის კოდი", 22 | "Response Headers":"პასუხის ჰედერები", 23 | "Hide Response":"დამალე პასუხი", 24 | "Headers":"ჰედერები", 25 | "Try it out!":"ცადე !", 26 | "Show/Hide":"გამოჩენა/დამალვა", 27 | "List Operations":"ოპერაციების სია", 28 | "Expand Operations":"ოპერაციები ვრცლად", 29 | "Raw":"ნედლი", 30 | "can't parse JSON. Raw result":"JSON-ის დამუშავება ვერ მოხერხდა. ნედლი პასუხი", 31 | "Example Value":"მაგალითი", 32 | "Model Schema":"მოდელის სტრუქტურა", 33 | "Model":"მოდელი", 34 | "Click to set as parameter value":"პარამეტრისთვის მნიშვნელობის მისანიჭებლად, დააკლიკე", 35 | "apply":"გამოყენება", 36 | "Username":"მოხმარებელი", 37 | "Password":"პაროლი", 38 | "Terms of service":"მომსახურების პირობები", 39 | "Created by":"შექმნა", 40 | "See more at":"ნახე ვრცლად", 41 | "Contact the developer":"დაუკავშირდი დეველოპერს", 42 | "api version":"api ვერსია", 43 | "Response Content Type":"პასუხის კონტენტის ტიპი", 44 | "Parameter content type:":"პარამეტრის კონტენტის ტიპი:", 45 | "fetching resource":"რესურსების მიღება", 46 | "fetching resource list":"რესურსების სიის მიღება", 47 | "Explore":"ნახვა", 48 | "Show Swagger Petstore Example Apis":"ნახე Swagger Petstore სამაგალითო Api", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"სერვერთან დაკავშირება ვერ ხერხდება. შეამოწმეთ access-control-origin.", 50 | "Please specify the protocol for":"მიუთითეთ პროტოკოლი", 51 | "Can't read swagger JSON from":"swagger JSON წაკითხვა ვერ მოხერხდა", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"რესურსების ჩატვირთვა სრულდება. Swagger UI რენდერდება", 53 | "Unable to read api":"api წაკითხვა ვერ მოხერხდა", 54 | "from path":"მისამართიდან", 55 | "server returned":"სერვერმა დააბრუნა" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/it.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Attenzione: Deprecato", 6 | "Implementation Notes":"Note di implementazione", 7 | "Response Class":"Classe della risposta", 8 | "Status":"Stato", 9 | "Parameters":"Parametri", 10 | "Parameter":"Parametro", 11 | "Value":"Valore", 12 | "Description":"Descrizione", 13 | "Parameter Type":"Tipo di parametro", 14 | "Data Type":"Tipo di dato", 15 | "Response Messages":"Messaggi della risposta", 16 | "HTTP Status Code":"Codice stato HTTP", 17 | "Reason":"Motivo", 18 | "Response Model":"Modello di risposta", 19 | "Request URL":"URL della richiesta", 20 | "Response Body":"Corpo della risposta", 21 | "Response Code":"Oggetto della risposta", 22 | "Response Headers":"Intestazioni della risposta", 23 | "Hide Response":"Nascondi risposta", 24 | "Try it out!":"Provalo!", 25 | "Show/Hide":"Mostra/Nascondi", 26 | "List Operations":"Mostra operazioni", 27 | "Expand Operations":"Espandi operazioni", 28 | "Raw":"Grezzo (raw)", 29 | "can't parse JSON. Raw result":"non è possibile parsare il JSON. Risultato grezzo (raw).", 30 | "Model Schema":"Schema del modello", 31 | "Model":"Modello", 32 | "apply":"applica", 33 | "Username":"Nome utente", 34 | "Password":"Password", 35 | "Terms of service":"Condizioni del servizio", 36 | "Created by":"Creato da", 37 | "See more at":"Informazioni aggiuntive:", 38 | "Contact the developer":"Contatta lo sviluppatore", 39 | "api version":"versione api", 40 | "Response Content Type":"Tipo di contenuto (content type) della risposta", 41 | "fetching resource":"recuperando la risorsa", 42 | "fetching resource list":"recuperando lista risorse", 43 | "Explore":"Esplora", 44 | "Show Swagger Petstore Example Apis":"Mostra le api di esempio di Swagger Petstore", 45 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Non è possibile leggere dal server. Potrebbe non avere le impostazioni di controllo accesso origine (access-control-origin) appropriate.", 46 | "Please specify the protocol for":"Si prega di specificare il protocollo per", 47 | "Can't read swagger JSON from":"Impossibile leggere JSON swagger da:", 48 | "Finished Loading Resource Information. Rendering Swagger UI":"Lettura informazioni risorse termianta. Swagger UI viene mostrata", 49 | "Unable to read api":"Impossibile leggere la api", 50 | "from path":"da cartella", 51 | "server returned":"il server ha restituito" 52 | }); 53 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/ja.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"警告: 廃止予定", 6 | "Implementation Notes":"実装メモ", 7 | "Response Class":"レスポンスクラス", 8 | "Status":"ステータス", 9 | "Parameters":"パラメータ群", 10 | "Parameter":"パラメータ", 11 | "Value":"値", 12 | "Description":"説明", 13 | "Parameter Type":"パラメータタイプ", 14 | "Data Type":"データタイプ", 15 | "Response Messages":"レスポンスメッセージ", 16 | "HTTP Status Code":"HTTPステータスコード", 17 | "Reason":"理由", 18 | "Response Model":"レスポンスモデル", 19 | "Request URL":"リクエストURL", 20 | "Response Body":"レスポンスボディ", 21 | "Response Code":"レスポンスコード", 22 | "Response Headers":"レスポンスヘッダ", 23 | "Hide Response":"レスポンスを隠す", 24 | "Headers":"ヘッダ", 25 | "Try it out!":"実際に実行!", 26 | "Show/Hide":"表示/非表示", 27 | "List Operations":"操作一覧", 28 | "Expand Operations":"操作の展開", 29 | "Raw":"未加工", 30 | "can't parse JSON. Raw result":"JSONへ解釈できません. 未加工の結果", 31 | "Example Value":"値の例", 32 | "Model Schema":"モデルスキーマ", 33 | "Model":"モデル", 34 | "Click to set as parameter value":"パラメータ値と設定するにはクリック", 35 | "apply":"実行", 36 | "Username":"ユーザ名", 37 | "Password":"パスワード", 38 | "Terms of service":"サービス利用規約", 39 | "Created by":"Created by", 40 | "See more at":"詳細を見る", 41 | "Contact the developer":"開発者に連絡", 42 | "api version":"APIバージョン", 43 | "Response Content Type":"レスポンス コンテンツタイプ", 44 | "Parameter content type:":"パラメータコンテンツタイプ:", 45 | "fetching resource":"リソースの取得", 46 | "fetching resource list":"リソース一覧の取得", 47 | "Explore":"調査", 48 | "Show Swagger Petstore Example Apis":"SwaggerペットストアAPIの表示", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"サーバから読み込めません. 適切なaccess-control-origin設定を持っていない可能性があります.", 50 | "Please specify the protocol for":"プロトコルを指定してください", 51 | "Can't read swagger JSON from":"次からswagger JSONを読み込めません", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"リソース情報の読み込みが完了しました. Swagger UIを描画しています", 53 | "Unable to read api":"APIを読み込めません", 54 | "from path":"次のパスから", 55 | "server returned":"サーバからの返答" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/ko-kr.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"경고:폐기예정됨", 6 | "Implementation Notes":"구현 노트", 7 | "Response Class":"응답 클래스", 8 | "Status":"상태", 9 | "Parameters":"매개변수들", 10 | "Parameter":"매개변수", 11 | "Value":"값", 12 | "Description":"설명", 13 | "Parameter Type":"매개변수 타입", 14 | "Data Type":"데이터 타입", 15 | "Response Messages":"응답 메세지", 16 | "HTTP Status Code":"HTTP 상태 코드", 17 | "Reason":"원인", 18 | "Response Model":"응답 모델", 19 | "Request URL":"요청 URL", 20 | "Response Body":"응답 본문", 21 | "Response Code":"응답 코드", 22 | "Response Headers":"응답 헤더", 23 | "Hide Response":"응답 숨기기", 24 | "Headers":"헤더", 25 | "Try it out!":"써보기!", 26 | "Show/Hide":"보이기/숨기기", 27 | "List Operations":"목록 작업", 28 | "Expand Operations":"전개 작업", 29 | "Raw":"원본", 30 | "can't parse JSON. Raw result":"JSON을 파싱할수 없음. 원본결과:", 31 | "Model Schema":"모델 스키마", 32 | "Model":"모델", 33 | "apply":"적용", 34 | "Username":"사용자 이름", 35 | "Password":"암호", 36 | "Terms of service":"이용약관", 37 | "Created by":"작성자", 38 | "See more at":"추가정보:", 39 | "Contact the developer":"개발자에게 문의", 40 | "api version":"api버전", 41 | "Response Content Type":"응답Content Type", 42 | "fetching resource":"리소스 가져오기", 43 | "fetching resource list":"리소스 목록 가져오기", 44 | "Explore":"탐색", 45 | "Show Swagger Petstore Example Apis":"Swagger Petstore 예제 보기", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"서버로부터 읽어들일수 없습니다. access-control-origin 설정이 올바르지 않을수 있습니다.", 47 | "Please specify the protocol for":"다음을 위한 프로토콜을 정하세요", 48 | "Can't read swagger JSON from":"swagger JSON 을 다음으로 부터 읽을수 없습니다", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"리소스 정보 불러오기 완료. Swagger UI 랜더링", 50 | "Unable to read api":"api를 읽을 수 없습니다.", 51 | "from path":"다음 경로로 부터", 52 | "server returned":"서버 응답함." 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/pl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Uwaga: Wycofane", 6 | "Implementation Notes":"Uwagi Implementacji", 7 | "Response Class":"Klasa Odpowiedzi", 8 | "Status":"Status", 9 | "Parameters":"Parametry", 10 | "Parameter":"Parametr", 11 | "Value":"Wartość", 12 | "Description":"Opis", 13 | "Parameter Type":"Typ Parametru", 14 | "Data Type":"Typ Danych", 15 | "Response Messages":"Wiadomości Odpowiedzi", 16 | "HTTP Status Code":"Kod Statusu HTTP", 17 | "Reason":"Przyczyna", 18 | "Response Model":"Model Odpowiedzi", 19 | "Request URL":"URL Wywołania", 20 | "Response Body":"Treść Odpowiedzi", 21 | "Response Code":"Kod Odpowiedzi", 22 | "Response Headers":"Nagłówki Odpowiedzi", 23 | "Hide Response":"Ukryj Odpowiedź", 24 | "Headers":"Nagłówki", 25 | "Try it out!":"Wypróbuj!", 26 | "Show/Hide":"Pokaż/Ukryj", 27 | "List Operations":"Lista Operacji", 28 | "Expand Operations":"Rozwiń Operacje", 29 | "Raw":"Nieprzetworzone", 30 | "can't parse JSON. Raw result":"nie można przetworzyć pliku JSON. Nieprzetworzone dane", 31 | "Model Schema":"Schemat Modelu", 32 | "Model":"Model", 33 | "apply":"użyj", 34 | "Username":"Nazwa użytkownika", 35 | "Password":"Hasło", 36 | "Terms of service":"Warunki używania", 37 | "Created by":"Utworzone przez", 38 | "See more at":"Zobacz więcej na", 39 | "Contact the developer":"Kontakt z deweloperem", 40 | "api version":"wersja api", 41 | "Response Content Type":"Typ Zasobu Odpowiedzi", 42 | "fetching resource":"ładowanie zasobu", 43 | "fetching resource list":"ładowanie listy zasobów", 44 | "Explore":"Eksploruj", 45 | "Show Swagger Petstore Example Apis":"Pokaż Przykładowe Api Swagger Petstore", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Brak połączenia z serwerem. Może on nie mieć odpowiednich ustawień access-control-origin.", 47 | "Please specify the protocol for":"Proszę podać protokół dla", 48 | "Can't read swagger JSON from":"Nie można odczytać swagger JSON z", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Ukończono Ładowanie Informacji o Zasobie. Renderowanie Swagger UI", 50 | "Unable to read api":"Nie można odczytać api", 51 | "from path":"ze ścieżki", 52 | "server returned":"serwer zwrócił" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/pt.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Aviso: Depreciado", 6 | "Implementation Notes":"Notas de Implementação", 7 | "Response Class":"Classe de resposta", 8 | "Status":"Status", 9 | "Parameters":"Parâmetros", 10 | "Parameter":"Parâmetro", 11 | "Value":"Valor", 12 | "Description":"Descrição", 13 | "Parameter Type":"Tipo de parâmetro", 14 | "Data Type":"Tipo de dados", 15 | "Response Messages":"Mensagens de resposta", 16 | "HTTP Status Code":"Código de status HTTP", 17 | "Reason":"Razão", 18 | "Response Model":"Modelo resposta", 19 | "Request URL":"URL requisição", 20 | "Response Body":"Corpo da resposta", 21 | "Response Code":"Código da resposta", 22 | "Response Headers":"Cabeçalho da resposta", 23 | "Headers":"Cabeçalhos", 24 | "Hide Response":"Esconder resposta", 25 | "Try it out!":"Tente agora!", 26 | "Show/Hide":"Mostrar/Esconder", 27 | "List Operations":"Listar operações", 28 | "Expand Operations":"Expandir operações", 29 | "Raw":"Cru", 30 | "can't parse JSON. Raw result":"Falha ao analisar JSON. Resulto cru", 31 | "Model Schema":"Modelo esquema", 32 | "Model":"Modelo", 33 | "apply":"Aplicar", 34 | "Username":"Usuário", 35 | "Password":"Senha", 36 | "Terms of service":"Termos do serviço", 37 | "Created by":"Criado por", 38 | "See more at":"Veja mais em", 39 | "Contact the developer":"Contate o desenvolvedor", 40 | "api version":"Versão api", 41 | "Response Content Type":"Tipo de conteúdo da resposta", 42 | "fetching resource":"busca recurso", 43 | "fetching resource list":"buscando lista de recursos", 44 | "Explore":"Explorar", 45 | "Show Swagger Petstore Example Apis":"Show Swagger Petstore Example Apis", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Não é possível ler do servidor. Pode não ter as apropriadas configurações access-control-origin", 47 | "Please specify the protocol for":"Por favor especifique o protocolo", 48 | "Can't read swagger JSON from":"Não é possível ler o JSON Swagger de", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Carregar informação de recurso finalizada. Renderizando Swagger UI", 50 | "Unable to read api":"Não foi possível ler api", 51 | "from path":"do caminho", 52 | "server returned":"servidor retornou" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/ru.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Предупреждение: Устарело", 6 | "Implementation Notes":"Заметки", 7 | "Response Class":"Пример ответа", 8 | "Status":"Статус", 9 | "Parameters":"Параметры", 10 | "Parameter":"Параметр", 11 | "Value":"Значение", 12 | "Description":"Описание", 13 | "Parameter Type":"Тип параметра", 14 | "Data Type":"Тип данных", 15 | "HTTP Status Code":"HTTP код", 16 | "Reason":"Причина", 17 | "Response Model":"Структура ответа", 18 | "Request URL":"URL запроса", 19 | "Response Body":"Тело ответа", 20 | "Response Code":"HTTP код ответа", 21 | "Response Headers":"Заголовки ответа", 22 | "Hide Response":"Спрятать ответ", 23 | "Headers":"Заголовки", 24 | "Response Messages":"Что может прийти в ответ", 25 | "Try it out!":"Попробовать!", 26 | "Show/Hide":"Показать/Скрыть", 27 | "List Operations":"Операции кратко", 28 | "Expand Operations":"Операции подробно", 29 | "Raw":"В сыром виде", 30 | "can't parse JSON. Raw result":"Не удается распарсить ответ:", 31 | "Example Value":"Пример", 32 | "Model Schema":"Структура", 33 | "Model":"Описание", 34 | "Click to set as parameter value":"Нажмите, чтобы испльзовать в качестве значения параметра", 35 | "apply":"применить", 36 | "Username":"Имя пользователя", 37 | "Password":"Пароль", 38 | "Terms of service":"Условия использования", 39 | "Created by":"Разработано", 40 | "See more at":"Еще тут", 41 | "Contact the developer":"Связаться с разработчиком", 42 | "api version":"Версия API", 43 | "Response Content Type":"Content Type ответа", 44 | "Parameter content type:":"Content Type параметра:", 45 | "fetching resource":"Получение ресурса", 46 | "fetching resource list":"Получение ресурсов", 47 | "Explore":"Показать", 48 | "Show Swagger Petstore Example Apis":"Показать примеры АПИ", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Не удается получить ответ от сервера. Возможно, проблема с настройками доступа", 50 | "Please specify the protocol for":"Пожалуйста, укажите протокол для", 51 | "Can't read swagger JSON from":"Не получается прочитать swagger json из", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"Загрузка информации о ресурсах завершена. Рендерим", 53 | "Unable to read api":"Не удалось прочитать api", 54 | "from path":"по адресу", 55 | "server returned":"сервер сказал" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/tr.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Uyarı: Deprecated", 6 | "Implementation Notes":"Gerçekleştirim Notları", 7 | "Response Class":"Dönen Sınıf", 8 | "Status":"Statü", 9 | "Parameters":"Parametreler", 10 | "Parameter":"Parametre", 11 | "Value":"Değer", 12 | "Description":"Açıklama", 13 | "Parameter Type":"Parametre Tipi", 14 | "Data Type":"Veri Tipi", 15 | "Response Messages":"Dönüş Mesajı", 16 | "HTTP Status Code":"HTTP Statü Kodu", 17 | "Reason":"Gerekçe", 18 | "Response Model":"Dönüş Modeli", 19 | "Request URL":"İstek URL", 20 | "Response Body":"Dönüş İçeriği", 21 | "Response Code":"Dönüş Kodu", 22 | "Response Headers":"Dönüş Üst Bilgileri", 23 | "Hide Response":"Dönüşü Gizle", 24 | "Headers":"Üst Bilgiler", 25 | "Try it out!":"Dene!", 26 | "Show/Hide":"Göster/Gizle", 27 | "List Operations":"Operasyonları Listele", 28 | "Expand Operations":"Operasyonları Aç", 29 | "Raw":"Ham", 30 | "can't parse JSON. Raw result":"JSON çözümlenemiyor. Ham sonuç", 31 | "Model Schema":"Model Şema", 32 | "Model":"Model", 33 | "apply":"uygula", 34 | "Username":"Kullanıcı Adı", 35 | "Password":"Parola", 36 | "Terms of service":"Servis şartları", 37 | "Created by":"Oluşturan", 38 | "See more at":"Daha fazlası için", 39 | "Contact the developer":"Geliştirici ile İletişime Geçin", 40 | "api version":"api versiyon", 41 | "Response Content Type":"Dönüş İçerik Tipi", 42 | "fetching resource":"kaynak getiriliyor", 43 | "fetching resource list":"kaynak listesi getiriliyor", 44 | "Explore":"Keşfet", 45 | "Show Swagger Petstore Example Apis":"Swagger Petstore Örnek Api'yi Gör", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Sunucudan okuma yapılamıyor. Sunucu access-control-origin ayarlarınızı kontrol edin.", 47 | "Please specify the protocol for":"Lütfen istenen adres için protokol belirtiniz", 48 | "Can't read swagger JSON from":"Swagger JSON bu kaynaktan okunamıyor", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Kaynak baglantısı tamamlandı. Swagger UI gösterime hazırlanıyor", 50 | "Unable to read api":"api okunamadı", 51 | "from path":"yoldan", 52 | "server returned":"sunucuya dönüldü" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/translator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Translator for documentation pages. 5 | * 6 | * To enable translation you should include one of language-files in your index.html 7 | * after . 8 | * For example - 9 | * 10 | * If you wish to translate some new texts you should do two things: 11 | * 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. 12 | * 2. Mark that text it templates this way New Phrase or . 13 | * The main thing here is attribute data-sw-translate. Only inner html, title-attribute and value-attribute are going to translate. 14 | * 15 | */ 16 | window.SwaggerTranslator = { 17 | 18 | _words:[], 19 | 20 | translate: function(sel) { 21 | var $this = this; 22 | sel = sel || '[data-sw-translate]'; 23 | 24 | $(sel).each(function() { 25 | $(this).html($this._tryTranslate($(this).html())); 26 | 27 | $(this).val($this._tryTranslate($(this).val())); 28 | $(this).attr('title', $this._tryTranslate($(this).attr('title'))); 29 | }); 30 | }, 31 | 32 | _tryTranslate: function(word) { 33 | return this._words[$.trim(word)] !== undefined ? this._words[$.trim(word)] : word; 34 | }, 35 | 36 | learn: function(wordsMap) { 37 | this._words = wordsMap; 38 | } 39 | }; 40 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lang/zh-cn.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"警告:已过时", 6 | "Implementation Notes":"实现备注", 7 | "Response Class":"响应类", 8 | "Status":"状态", 9 | "Parameters":"参数", 10 | "Parameter":"参数", 11 | "Value":"值", 12 | "Description":"描述", 13 | "Parameter Type":"参数类型", 14 | "Data Type":"数据类型", 15 | "Response Messages":"响应消息", 16 | "HTTP Status Code":"HTTP状态码", 17 | "Reason":"原因", 18 | "Response Model":"响应模型", 19 | "Request URL":"请求URL", 20 | "Response Body":"响应体", 21 | "Response Code":"响应码", 22 | "Response Headers":"响应头", 23 | "Hide Response":"隐藏响应", 24 | "Headers":"头", 25 | "Try it out!":"试一下!", 26 | "Show/Hide":"显示/隐藏", 27 | "List Operations":"显示操作", 28 | "Expand Operations":"展开操作", 29 | "Raw":"原始", 30 | "can't parse JSON. Raw result":"无法解析JSON. 原始结果", 31 | "Example Value":"示例", 32 | "Click to set as parameter value":"点击设置参数", 33 | "Model Schema":"模型架构", 34 | "Model":"模型", 35 | "apply":"应用", 36 | "Username":"用户名", 37 | "Password":"密码", 38 | "Terms of service":"服务条款", 39 | "Created by":"创建者", 40 | "See more at":"查看更多:", 41 | "Contact the developer":"联系开发者", 42 | "api version":"api版本", 43 | "Response Content Type":"响应Content Type", 44 | "Parameter content type:":"参数类型:", 45 | "fetching resource":"正在获取资源", 46 | "fetching resource list":"正在获取资源列表", 47 | "Explore":"浏览", 48 | "Show Swagger Petstore Example Apis":"显示 Swagger Petstore 示例 Apis", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"无法从服务器读取。可能没有正确设置access-control-origin。", 50 | "Please specify the protocol for":"请指定协议:", 51 | "Can't read swagger JSON from":"无法读取swagger JSON于", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"已加载资源信息。正在渲染Swagger UI", 53 | "Unable to read api":"无法读取api", 54 | "from path":"从路径", 55 | "server returned":"服务器返回" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lib/highlight.9.1.0.pack_extended.js: -------------------------------------------------------------------------------- 1 | "use strict";!function(){var h,l;h=hljs.configure,hljs.configure=function(l){var i=l.highlightSizeThreshold;hljs.highlightSizeThreshold=i===+i?i:null,h.call(this,l)},l=hljs.highlightBlock,hljs.highlightBlock=function(h){var i=h.innerHTML,g=hljs.highlightSizeThreshold;(null==g||g>i.length)&&l.call(hljs,h)}}(); -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lib/jquery.ba-bbq.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){function n(e){return"string"==typeof e}function r(e){var t=g.call(arguments,1);return function(){return e.apply(this,t.concat(g.call(arguments)))}}function o(e){return e.replace(/^[^#]*#?(.*)$/,"$1")}function a(e){return e.replace(/(?:^[^?#]*\?([^#]*).*$)?.*/,"$1")}function i(r,o,a,i,c){var u,s,p,h,d;return i!==f?(p=a.match(r?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/),d=p[3]||"",2===c&&n(i)?s=i.replace(r?R:E,""):(h=l(p[2]),i=n(i)?l[r?A:w](i):i,s=2===c?i:1===c?e.extend({},i,h):e.extend({},h,i),s=b(s),r&&(s=s.replace(m,y))),u=p[1]+(r?"#":s||!p[1]?"?":"")+s+d):u=o(a!==f?a:t[S][q]),u}function c(e,t,r){return t===f||"boolean"==typeof t?(r=t,t=b[e?A:w]()):t=n(t)?t.replace(e?R:E,""):t,l(t,r)}function u(t,r,o,a){return n(o)||"object"==typeof o||(a=o,o=r,r=f),this.each(function(){var n=e(this),i=r||v()[(this.nodeName||"").toLowerCase()]||"",c=i&&n.attr(i)||"";n.attr(i,b[t](c,o,a))})}var f,s,l,p,h,d,v,m,g=Array.prototype.slice,y=decodeURIComponent,b=e.param,$=e.bbq=e.bbq||{},x=e.event.special,j="hashchange",w="querystring",A="fragment",N="elemUrlAttr",S="location",q="href",C="src",E=/^.*\?|#.*$/g,R=/^.*\#/,U={};b[w]=r(i,0,a),b[A]=s=r(i,1,o),s.noEscape=function(t){t=t||"";var n=e.map(t.split(""),encodeURIComponent);m=new RegExp(n.join("|"),"g")},s.noEscape(",/"),e.deparam=l=function(t,n){var r={},o={"true":!0,"false":!1,"null":null};return e.each(t.replace(/\+/g," ").split("&"),function(t,a){var i,c=a.split("="),u=y(c[0]),s=r,l=0,p=u.split("]["),h=p.length-1;if(/\[/.test(p[0])&&/\]$/.test(p[h])?(p[h]=p[h].replace(/\]$/,""),p=p.shift().split("[").concat(p),h=p.length-1):h=0,2===c.length)if(i=y(c[1]),n&&(i=i&&!isNaN(i)?+i:"undefined"===i?f:o[i]!==f?o[i]:i),h)for(;l<=h;l++)u=""===p[l]?s.length:p[l],s=s[u]=l').hide().insertAfter("body")[0].contentWindow,s=function(){return r(a.document[i][u])},(f=function(e,t){if(e!==t){var n=a.document;n.open().close(),n[i].hash="#"+e}})(r()))}var o,a,f,s,p={};return p.start=function(){if(!o){var a=r();f||n(),function l(){var n=r(),p=s(a);n!==a?(f(a=n,p),e(t).trigger(c)):p!==a&&(t[i][u]=t[i][u].replace(/#.*/,"")+"#"+p),o=setTimeout(l,e[c+"Delay"])}()}},p.stop=function(){a||(o&&clearTimeout(o),o=0)},p}()}(jQuery,this); -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lib/jquery.slideto.min.js: -------------------------------------------------------------------------------- 1 | !function(i){i.fn.slideto=function(o){return o=i.extend({slide_duration:"slow",highlight_duration:3e3,highlight:!0,highlight_color:"#FFFF99"},o),this.each(function(){obj=i(this),i("body").animate({scrollTop:obj.offset().top},o.slide_duration,function(){o.highlight&&i.ui.version&&obj.effect("highlight",{color:o.highlight_color},o.highlight_duration)})})}}(jQuery); -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lib/jquery.wiggle.min.js: -------------------------------------------------------------------------------- 1 | jQuery.fn.wiggle=function(e){var a={speed:50,wiggles:3,travel:5,callback:null},e=jQuery.extend(a,e);return this.each(function(){var a=this,l=(jQuery(this).wrap('
').css("position","relative"),0);for(i=1;i<=e.wiggles;i++)jQuery(this).animate({left:"-="+e.travel},e.speed).animate({left:"+="+2*e.travel},2*e.speed).animate({left:"-="+e.travel},e.speed,function(){l++,jQuery(a).parent().hasClass("wiggle-wrap")&&jQuery(a).parent().replaceWith(a),l==e.wiggles&&jQuery.isFunction(e.callback)&&e.callback()})})}; -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/lib/object-assign-pollyfill.js: -------------------------------------------------------------------------------- 1 | "function"!=typeof Object.assign&&!function(){Object.assign=function(n){"use strict";if(void 0===n||null===n)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(n),o=1;o','
Select OAuth2.0 Scopes
','
',"

Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.",'Learn how to use',"

","

"+appName+" API requires the following scopes. Select which ones you want to grant to Swagger UI.

",'
    ',"
",'

','
',"
",""].join("")),$(document.body).append(popupDialog),popup=popupDialog.find("ul.api-popup-scopes").empty(),p=0;p",popup.append(str);var r=$(window),s=r.width(),c=r.height(),l=r.scrollTop(),d=popupDialog.outerWidth(),u=popupDialog.outerHeight(),h=(c-u)/2+l,g=(s-d)/2;popupDialog.css({top:(h<0?0:h)+"px",left:(g<0?0:g)+"px"}),popupDialog.find("button.api-popup-cancel").click(function(){popupMask.hide(),popupDialog.hide(),popupDialog.empty(),popupDialog=[]}),$("button.api-popup-authbtn").unbind(),popupDialog.find("button.api-popup-authbtn").click(function(){function e(e){return e.vendorExtensions["x-tokenName"]||e.tokenName}popupMask.hide(),popupDialog.hide();var o,i=window.swaggerUi.api.authSchemes,n=window.location,a=location.pathname.substring(0,location.pathname.lastIndexOf("/")),t=n.protocol+"//"+n.host+a+"/o2c.html",p=window.oAuthRedirectUrl||t,r=null,s=[],c=popup.find("input:checked"),l=[];for(k=0;k0?void log("auth unable initialize oauth: "+i):($("pre code").each(function(e,o){hljs.highlightBlock(o)}),$(".api-ic").unbind(),void $(".api-ic").click(function(e){$(e.target).hasClass("ic-off")?handleLogin():handleLogout()}))}function clientCredentialsFlow(e,o,i){var n={client_id:clientId,client_secret:clientSecret,scope:e.join(" "),grant_type:"client_credentials"};$.ajax({url:o,type:"POST",data:n,success:function(e,o,n){onOAuthComplete(e,i)},error:function(e,o,i){onOAuthComplete("")}})}var appName,popupMask,popupDialog,clientId,realm,redirect_uri,clientSecret,scopeSeparator,additionalQueryStringParams;window.processOAuthCode=function(e){var o=e.state,i=window.location,n=location.pathname.substring(0,location.pathname.lastIndexOf("/")),a=i.protocol+"//"+i.host+n+"/o2c.html",t=window.oAuthRedirectUrl||a,p={client_id:clientId,code:e.code,grant_type:"authorization_code",redirect_uri:t};clientSecret&&(p.client_secret=clientSecret),$.ajax({url:window.swaggerUiAuth.tokenUrl,type:"POST",data:p,success:function(e,i,n){onOAuthComplete(e,o)},error:function(e,o,i){onOAuthComplete("")}})},window.onOAuthComplete=function(e,o){if(e)if(e.error){var i=$("input[type=checkbox],.secured");i.each(function(e){i[e].checked=!1}),alert(e.error)}else{var n=e[window.swaggerUiAuth.tokenName];if(o||(o=e.state),n){var a=null;$.each($(".auth .api-ic .api_information_panel"),function(e,o){var i=o;if(i&&i.childNodes){var n=[];$.each(i.childNodes,function(e,o){var i=o.innerHTML;i&&n.push(i)});for(var t=[],p=0;p0?(a=o.parentNode.parentNode,$(a.parentNode).find(".api-ic.ic-on").addClass("ic-off"),$(a.parentNode).find(".api-ic.ic-on").removeClass("ic-on"),$(a).find(".api-ic").addClass("ic-warning"),$(a).find(".api-ic").removeClass("ic-error")):(a=o.parentNode.parentNode,$(a.parentNode).find(".api-ic.ic-off").addClass("ic-on"),$(a.parentNode).find(".api-ic.ic-off").removeClass("ic-off"),$(a).find(".api-ic").addClass("ic-info"),$(a).find(".api-ic").removeClass("ic-warning"),$(a).find(".api-ic").removeClass("ic-error"))}}),"undefined"!=typeof window.swaggerUi&&(window.swaggerUi.api.clientAuthorizations.add(window.swaggerUiAuth.OAuthSchemeKey,new SwaggerClient.ApiKeyAuthorization("Authorization","Bearer "+n,"header")),window.swaggerUi.load())}}}; -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider-springboot/src/main/resources/static/distv2/o2c.html: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/README.md: -------------------------------------------------------------------------------- 1 | ## dubbo-provider spring MVC 示例 2 | 3 | spring mvc启动前准备: 4 | 5 | 1. 修改Zookeeper配置:dubbo-provider/src/main/resources/application/remote-provider.xml 6 | 7 | ```xml 8 | 9 | ``` 10 | 11 | 运行web容器,若context为dubbo-provider: 12 | 13 | ### 访问如下url查看swagger数据 14 | 15 | ``` 16 | http://127.0.0.1:8077/dubbo-provider/swagger-dubbo/api-docs 17 | ``` 18 | 19 | ### 访问swagger-ui 2.x 20 | 21 | ``` 22 | http://127.0.0.1:8077/dubbo-provider/distv2/index.html 23 | ``` 24 | ![Swagger-UI](../swagger_ui.png) 25 | 26 | ### 访问swagger-ui 3.x 27 | 28 | ``` 29 | http://127.0.0.1:8077/dubbo-provider/distv/index.html 30 | ``` 31 | ![Swagger-UI](../swagger_ui_3.png) -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | com.deepoove 8 | swagger-dubbo-example 9 | 3.0.0-SNAPSHOT 10 | 11 | dubbo-provider 12 | war 13 | dubbo-provider Maven Webapp 14 | http://maven.apache.org 15 | 16 | 17 | com.deepoove 18 | dubbo-api 19 | ${parent.version} 20 | 21 | 22 | com.deepoove 23 | swagger-dubbo 24 | ${parent.version} 25 | 26 | 27 | javax.servlet 28 | javax.servlet-api 29 | 3.0.1 30 | provided 31 | 32 | 33 | org.springframework 34 | spring-webmvc 35 | 4.3.10.RELEASE 36 | 37 | 38 | org.springframework 39 | spring-remoting 40 | 2.0.8 41 | 42 | 43 | org.springframework 44 | spring-aop 45 | 46 | 47 | 48 | 49 | 50 | com.alibaba 51 | dubbo 52 | 2.6.0 53 | 54 | 55 | org.springframework 56 | spring 57 | 58 | 59 | 60 | 61 | org.apache.zookeeper 62 | zookeeper 63 | 3.5.2-alpha 64 | 65 | 66 | com.github.sgroschupf 67 | zkclient 68 | 0.1 69 | 70 | 71 | 72 | org.apache.curator 73 | curator-framework 74 | 4.0.0 75 | 76 | 77 | 78 | 79 | org.apache.curator 80 | curator-client 81 | 4.0.0 82 | 83 | 84 | 89 | 90 | com.fasterxml.jackson.core 91 | jackson-core 92 | 2.8.9 93 | 94 | 95 | com.fasterxml.jackson.core 96 | jackson-databind 97 | 2.8.9 98 | 99 | 100 | com.fasterxml.jackson.core 101 | jackson-annotations 102 | 2.8.9 103 | 104 | 105 | ch.qos.logback 106 | logback-core 107 | 1.2.13 108 | 109 | 110 | ch.qos.logback 111 | logback-classic 112 | 1.2.13 113 | 114 | 115 | 116 | 117 | dubbo-provider 118 | 119 | 120 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/java/com/deepoove/swagger/dubbo/example/AnnotationScanConfig.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | 5 | import com.alibaba.dubbo.config.spring.context.annotation.DubboComponentScan; 6 | 7 | @Configuration 8 | @DubboComponentScan(basePackages = { 9 | "com.deepoove.swagger.dubbo.example" }) 10 | public class AnnotationScanConfig { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/java/com/deepoove/swagger/dubbo/example/SwaggerDubboConfig.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | 5 | import com.deepoove.swagger.dubbo.annotations.EnableDubboSwagger; 6 | 7 | @Configuration 8 | @EnableDubboSwagger 9 | public class SwaggerDubboConfig { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/java/com/deepoove/swagger/dubbo/example/controller/UserController.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example.controller; 2 | 3 | import org.springframework.beans.factory.annotation.Autowired; 4 | import org.springframework.beans.factory.annotation.Qualifier; 5 | import org.springframework.web.bind.annotation.RequestMapping; 6 | import org.springframework.web.bind.annotation.RequestMethod; 7 | import org.springframework.web.bind.annotation.RestController; 8 | 9 | import com.alibaba.dubbo.config.annotation.Reference; 10 | import com.deepoove.swagger.dubbo.example.api.service.PushService; 11 | import com.deepoove.swagger.dubbo.example.api.service.UserService; 12 | 13 | @RestController 14 | @RequestMapping("/test") 15 | public class UserController { 16 | 17 | @Reference(check=false) 18 | PushService pushService; 19 | 20 | @Autowired 21 | @Qualifier("userServiceC") 22 | UserService userService; 23 | 24 | 25 | @RequestMapping(value = "", method = RequestMethod.GET) 26 | public String test() { 27 | System.out.println(userService.get("")); 28 | System.out.println(pushService.push("")); 29 | return "test success"; 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/java/com/deepoove/swagger/dubbo/example/provider/AccountServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example.provider; 2 | 3 | import com.deepoove.swagger.dubbo.example.api.service.AccountService; 4 | 5 | import io.swagger.annotations.Api; 6 | import io.swagger.annotations.ApiOperation; 7 | import io.swagger.annotations.ApiParam; 8 | 9 | @Api(value = "帐号服务") 10 | public class AccountServiceImpl implements AccountService { 11 | 12 | @Override 13 | @ApiOperation(value = "登出", notes = "退出用户信息") 14 | public void logout(String account) {} 15 | 16 | @Override 17 | @ApiOperation(value = "登录") 18 | public boolean login(@ApiParam(value = "用户帐号") String account, 19 | @ApiParam(value = "用户密码") String password) { 20 | return false; 21 | } 22 | 23 | @Override 24 | @ApiOperation(nickname="byCode", value = "登录", notes="邀请码登录") 25 | public boolean login(@ApiParam(value = "用户帐号") String account, @ApiParam(value = "邀请码") int code) { 26 | return false; 27 | } 28 | 29 | @Override 30 | public void updateInfo(boolean isBoy, Integer number) { 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/java/com/deepoove/swagger/dubbo/example/provider/PushServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example.provider; 2 | 3 | import com.alibaba.dubbo.config.annotation.Service; 4 | import com.deepoove.swagger.dubbo.example.api.service.PushService; 5 | 6 | import io.swagger.annotations.ApiOperation; 7 | import io.swagger.annotations.ApiParam; 8 | 9 | @Service 10 | public class PushServiceImpl implements PushService{ 11 | 12 | @ApiOperation(value = "推送", notes = "推送消息至指定帐号") 13 | @Override 14 | public String push(@ApiParam(value="帐号") String account) { 15 | return "中文字符串"; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/java/com/deepoove/swagger/dubbo/example/provider/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.example.provider; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import com.deepoove.swagger.dubbo.example.api.pojo.User; 7 | import com.deepoove.swagger.dubbo.example.api.service.UserService; 8 | 9 | public class UserServiceImpl implements UserService { 10 | 11 | static User user = new User(); 12 | static List list = new ArrayList(); 13 | 14 | static { 15 | user.setId("Sayi"); 16 | user.setName("卅一"); 17 | user.setSite("http://www.deepoove.com"); 18 | list.add(user); 19 | } 20 | 21 | @Override 22 | public List query(String phone) { 23 | return list; 24 | } 25 | 26 | @Override 27 | public List query(int areaCode) { 28 | return list; 29 | } 30 | 31 | @Override 32 | public User get(String id) { 33 | return user; 34 | } 35 | 36 | @Override 37 | public void save(User user) {} 38 | 39 | @Override 40 | public User update(User user) { 41 | return null; 42 | } 43 | 44 | @Override 45 | public void delete(String id) {} 46 | 47 | @Override 48 | public int compare(User src, User dest) { 49 | return 0; 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/resources/application/remote-consumer.xml: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/resources/application/remote-provider.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 23 | 24 | 27 | 28 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/resources/swagger-dubbo.properties: -------------------------------------------------------------------------------- 1 | 2 | #swagger.dubbo.doc=swagger-dubbo 3 | #swagger.dubbo.http=http 4 | 5 | swagger.dubbo.application.version = 1.0 6 | swagger.dubbo.application.groupId = com.deepoove 7 | swagger.dubbo.application.artifactId = dubbo.api 8 | 9 | #rpc or local 10 | #swagger.dubbo.cluster = rpc 11 | 12 | #swagger.dubbo.enable = true 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/WEB-INF/example-servlet.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 16 | 17 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | contextConfigLocation 9 | classpath*:application/*.xml 10 | 11 | 12 | org.springframework.web.context.ContextLoaderListener 13 | 14 | 15 | 16 | example 17 | org.springframework.web.servlet.DispatcherServlet 18 | 1 19 | 20 | 21 | 22 | example 23 | / 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/favicon-16x16.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/favicon-32x32.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Swagger UI 7 | 8 | 9 | 10 | 11 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
69 | 70 | 71 | 72 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/oauth2-redirect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/swagger-ui-bundle.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"swagger-ui-bundle.js","sources":["webpack:///swagger-ui-bundle.js"],"mappings":"AAAA;;;;;AAoyKA;;;;;;AAm/EA;;;;;;;;;;;;;;;;;;;;;;;;;;AAs6TA;;;;;;;;;;;;;;AAs8JA;;;;;;;;;AAogpBA;;;;;AAk1QA;AAm4DA;;;;;;AAo4YA;;;;;;AA8jaA;AAumvBA","sourceRoot":""} -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/swagger-ui-standalone-preset.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"swagger-ui-standalone-preset.js","sources":["webpack:///swagger-ui-standalone-preset.js"],"mappings":"AAAA;;;;;AA21CA;;;;;;AAspFA","sourceRoot":""} -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/swagger-ui.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"swagger-ui.css","sources":[],"mappings":"","sourceRoot":""} -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/dist/swagger-ui.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"swagger-ui.js","sources":["webpack:///swagger-ui.js"],"mappings":"AAAA;;;;;;AA0/cA","sourceRoot":""} -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/css/reset.css: -------------------------------------------------------------------------------- 1 | a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0} -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/css/style.css: -------------------------------------------------------------------------------- 1 | .swagger-section #header a#logo{font-size:1.5em;font-weight:700;text-decoration:none;padding:20px 0 20px 40px}#text-head{font-size:80px;font-family:Roboto,sans-serif;color:#fff;float:right;margin-right:20%}.navbar-fixed-top .navbar-brand,.navbar-fixed-top .navbar-nav,.navbar-header{height:auto}.navbar-inverse{background-color:#000;border-color:#000}#navbar-brand{margin-left:20%}.navtext{font-size:10px}.h1,h1{font-size:60px}.navbar-default .navbar-header .navbar-brand{color:#a2dfee}.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a{color:#393939;font-family:Arvo,serif;font-size:1.5em}.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover{color:#000}.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2{color:#525252;padding-left:0;display:block;clear:none;float:left;font-family:Arvo,serif;font-weight:700}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#0a0a0a}.container1{width:1500px;margin:auto;margin-top:0;background-repeat:no-repeat;background-position:-40px -20px;margin-bottom:210px}.container-inner{width:1200px;margin:auto;background-color:hsla(192,8%,88%,.75);padding-bottom:40px;padding-top:40px;border-radius:15px}.header-content{padding:0;width:1000px}.title1{font-size:80px;font-family:Vollkorn,serif;color:#404040;text-align:center;padding-top:40px;padding-bottom:100px}#icon{margin-top:-18px}.subtext{font-size:25px;font-style:italic;color:#08b;text-align:right;padding-right:250px}.bg-primary{background-color:#00468b}.navbar-default .nav>li>a,.navbar-default .nav>li>a:focus,.navbar-default .nav>li>a:focus:hover,.navbar-default .nav>li>a:hover{color:#08b}.text-faded{font-size:25px;font-family:Vollkorn,serif}.section-heading{font-family:Vollkorn,serif;font-size:45px;padding-bottom:10px}hr{border-color:#00468b;padding-bottom:10px}.description{margin-top:20px;padding-bottom:200px}.description li{font-family:Vollkorn,serif;font-size:25px;color:#525252;margin-left:28%;padding-top:5px}.gap{margin-top:200px}.troubleshootingtext{color:hsla(0,0%,100%,.7);padding-left:30%}.troubleshootingtext li{list-style-type:circle;font-size:25px;padding-bottom:5px}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.block.response_body.json:hover{cursor:pointer}.backdrop{color:blue}#myModal{height:100%}.modal-backdrop{bottom:0;position:fixed}.curl{padding:10px;font-family:Anonymous Pro,Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace;font-size:.9em;max-height:400px;margin-top:5px;overflow-y:auto;background-color:#fcf6db;border:1px solid #e5e0c6;border-radius:4px}.curl_title{font-size:1.1em;margin:0;padding:15px 0 5px;font-family:Open Sans,Helvetica Neue,Arial,sans-serif;font-weight:500;line-height:1.1}.footer{display:none}.swagger-section .swagger-ui-wrap h2{padding:0}h2{margin:0;margin-bottom:5px}.markdown p,.swagger-section .swagger-ui-wrap .code{font-size:15px;font-family:Arvo,serif}.swagger-section .swagger-ui-wrap b{font-family:Arvo,serif}#signin:hover{cursor:pointer}.dropdown-menu{padding:15px}.navbar-right .dropdown-menu{left:0;right:auto}#signinbutton{width:100%;height:32px;font-size:13px;font-weight:700;color:#08b}.navbar-default .nav>li .details{color:#000;text-transform:none;font-size:15px;font-weight:400;font-family:Open Sans,sans-serif;font-style:italic;line-height:20px;top:-2px}.navbar-default .nav>li .details:hover{color:#000}#signout{width:100%;height:32px;font-size:13px;font-weight:700;color:#08b} -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/css/typography.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/css/typography.css -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/fonts/DroidSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/fonts/DroidSans-Bold.ttf -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/fonts/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/fonts/DroidSans.ttf -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/collapse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/collapse.gif -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/expand.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/expand.gif -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/explorer_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/explorer_icons.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/favicon-16x16.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/favicon-32x32.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/favicon.ico -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/logo_small.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/pet_store_api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/pet_store_api.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/throbber.gif -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/wordnik_api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/images/wordnik_api.png -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Swagger UI 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 91 | 92 | 93 | 94 | 104 | 105 |
 
106 |
107 | 108 | 109 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/ca.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Advertència: Obsolet", 6 | "Implementation Notes":"Notes d'implementació", 7 | "Response Class":"Classe de la Resposta", 8 | "Status":"Estatus", 9 | "Parameters":"Paràmetres", 10 | "Parameter":"Paràmetre", 11 | "Value":"Valor", 12 | "Description":"Descripció", 13 | "Parameter Type":"Tipus del Paràmetre", 14 | "Data Type":"Tipus de la Dada", 15 | "Response Messages":"Missatges de la Resposta", 16 | "HTTP Status Code":"Codi d'Estatus HTTP", 17 | "Reason":"Raó", 18 | "Response Model":"Model de la Resposta", 19 | "Request URL":"URL de la Sol·licitud", 20 | "Response Body":"Cos de la Resposta", 21 | "Response Code":"Codi de la Resposta", 22 | "Response Headers":"Capçaleres de la Resposta", 23 | "Hide Response":"Amagar Resposta", 24 | "Try it out!":"Prova-ho!", 25 | "Show/Hide":"Mostrar/Amagar", 26 | "List Operations":"Llista Operacions", 27 | "Expand Operations":"Expandir Operacions", 28 | "Raw":"Cru", 29 | "can't parse JSON. Raw result":"no puc analitzar el JSON. Resultat cru", 30 | "Example Value":"Valor d'Exemple", 31 | "Model Schema":"Esquema del Model", 32 | "Model":"Model", 33 | "apply":"aplicar", 34 | "Username":"Nom d'usuari", 35 | "Password":"Contrasenya", 36 | "Terms of service":"Termes del servei", 37 | "Created by":"Creat per", 38 | "See more at":"Veure més en", 39 | "Contact the developer":"Contactar amb el desenvolupador", 40 | "api version":"versió de la api", 41 | "Response Content Type":"Tipus de Contingut de la Resposta", 42 | "fetching resource":"recollint recurs", 43 | "fetching resource list":"recollins llista de recursos", 44 | "Explore":"Explorant", 45 | "Show Swagger Petstore Example Apis":"Mostrar API d'Exemple Swagger Petstore", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"No es pot llegir del servidor. Potser no teniu la configuració de control d'accés apropiada.", 47 | "Please specify the protocol for":"Si us plau, especifiqueu el protocol per a", 48 | "Can't read swagger JSON from":"No es pot llegir el JSON de swagger des de", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Finalitzada la càrrega del recurs informatiu. Renderitzant Swagger UI", 50 | "Unable to read api":"No es pot llegir l'api", 51 | "from path":"des de la ruta", 52 | "server returned":"el servidor ha retornat" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/el.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Προειδοποίηση: Έχει αποσυρθεί", 6 | "Implementation Notes":"Σημειώσεις Υλοποίησης", 7 | "Response Class":"Απόκριση", 8 | "Status":"Κατάσταση", 9 | "Parameters":"Παράμετροι", 10 | "Parameter":"Παράμετρος", 11 | "Value":"Τιμή", 12 | "Description":"Περιγραφή", 13 | "Parameter Type":"Τύπος Παραμέτρου", 14 | "Data Type":"Τύπος Δεδομένων", 15 | "Response Messages":"Μηνύματα Απόκρισης", 16 | "HTTP Status Code":"Κωδικός Κατάστασης HTTP", 17 | "Reason":"Αιτιολογία", 18 | "Response Model":"Μοντέλο Απόκρισης", 19 | "Request URL":"URL Αιτήματος", 20 | "Response Body":"Σώμα Απόκρισης", 21 | "Response Code":"Κωδικός Απόκρισης", 22 | "Response Headers":"Επικεφαλίδες Απόκρισης", 23 | "Hide Response":"Απόκρυψη Απόκρισης", 24 | "Headers":"Επικεφαλίδες", 25 | "Try it out!":"Δοκιμάστε το!", 26 | "Show/Hide":"Εμφάνιση/Απόκρυψη", 27 | "List Operations":"Λίστα Λειτουργιών", 28 | "Expand Operations":"Ανάπτυξη Λειτουργιών", 29 | "Raw":"Ακατέργαστο", 30 | "can't parse JSON. Raw result":"αδυναμία ανάλυσης JSON. Ακατέργαστο αποτέλεσμα", 31 | "Example Value":"Παράδειγμα Τιμής", 32 | "Model Schema":"Σχήμα Μοντέλου", 33 | "Model":"Μοντέλο", 34 | "Click to set as parameter value":"Πατήστε για να θέσετε τιμή παραμέτρου", 35 | "apply":"εφαρμογή", 36 | "Username":"Όνομα χρήση", 37 | "Password":"Κωδικός πρόσβασης", 38 | "Terms of service":"Όροι χρήσης", 39 | "Created by":"Δημιουργήθηκε από", 40 | "See more at":"Δείτε περισσότερα στο", 41 | "Contact the developer":"Επικοινωνήστε με τον προγραμματιστή", 42 | "api version":"έκδοση api", 43 | "Response Content Type":"Τύπος Περιεχομένου Απόκρισης", 44 | "Parameter content type:":"Τύπος περιεχομένου παραμέτρου:", 45 | "fetching resource":"παραλαβή πόρου", 46 | "fetching resource list":"παραλαβή λίστας πόρων", 47 | "Explore":"Εξερεύνηση", 48 | "Show Swagger Petstore Example Apis":"Εμφάνιση Api Δειγμάτων Petstore του Swagger", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Αδυναμία ανάγνωσης από τον εξυπηρετητή. Μπορεί να μην έχει κατάλληλες ρυθμίσεις για access-control-origin.", 50 | "Please specify the protocol for":"Παρακαλώ προσδιορίστε το πρωτόκολλο για", 51 | "Can't read swagger JSON from":"Αδυναμία ανάγνωσης swagger JSON από", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"Ολοκλήρωση Φόρτωσης Πληροφορικών Πόρου. Παρουσίαση Swagger UI", 53 | "Unable to read api":"Αδυναμία ανάγνωσης api", 54 | "from path":"από το μονοπάτι", 55 | "server returned":"ο εξυπηρετηρής επέστρεψε" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/en.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Warning: Deprecated", 6 | "Implementation Notes":"Implementation Notes", 7 | "Response Class":"Response Class", 8 | "Status":"Status", 9 | "Parameters":"Parameters", 10 | "Parameter":"Parameter", 11 | "Value":"Value", 12 | "Description":"Description", 13 | "Parameter Type":"Parameter Type", 14 | "Data Type":"Data Type", 15 | "Response Messages":"Response Messages", 16 | "HTTP Status Code":"HTTP Status Code", 17 | "Reason":"Reason", 18 | "Response Model":"Response Model", 19 | "Request URL":"Request URL", 20 | "Response Body":"Response Body", 21 | "Response Code":"Response Code", 22 | "Response Headers":"Response Headers", 23 | "Hide Response":"Hide Response", 24 | "Headers":"Headers", 25 | "Try it out!":"Try it out!", 26 | "Show/Hide":"Show/Hide", 27 | "List Operations":"List Operations", 28 | "Expand Operations":"Expand Operations", 29 | "Raw":"Raw", 30 | "can't parse JSON. Raw result":"can't parse JSON. Raw result", 31 | "Example Value":"Example Value", 32 | "Model Schema":"Model Schema", 33 | "Model":"Model", 34 | "Click to set as parameter value":"Click to set as parameter value", 35 | "apply":"apply", 36 | "Username":"Username", 37 | "Password":"Password", 38 | "Terms of service":"Terms of service", 39 | "Created by":"Created by", 40 | "See more at":"See more at", 41 | "Contact the developer":"Contact the developer", 42 | "api version":"api version", 43 | "Response Content Type":"Response Content Type", 44 | "Parameter content type:":"Parameter content type:", 45 | "fetching resource":"fetching resource", 46 | "fetching resource list":"fetching resource list", 47 | "Explore":"Explore", 48 | "Show Swagger Petstore Example Apis":"Show Swagger Petstore Example Apis", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Can't read from server. It may not have the appropriate access-control-origin settings.", 50 | "Please specify the protocol for":"Please specify the protocol for", 51 | "Can't read swagger JSON from":"Can't read swagger JSON from", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"Finished Loading Resource Information. Rendering Swagger UI", 53 | "Unable to read api":"Unable to read api", 54 | "from path":"from path", 55 | "server returned":"server returned" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/es.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Advertencia: Obsoleto", 6 | "Implementation Notes":"Notas de implementación", 7 | "Response Class":"Clase de la Respuesta", 8 | "Status":"Status", 9 | "Parameters":"Parámetros", 10 | "Parameter":"Parámetro", 11 | "Value":"Valor", 12 | "Description":"Descripción", 13 | "Parameter Type":"Tipo del Parámetro", 14 | "Data Type":"Tipo del Dato", 15 | "Response Messages":"Mensajes de la Respuesta", 16 | "HTTP Status Code":"Código de Status HTTP", 17 | "Reason":"Razón", 18 | "Response Model":"Modelo de la Respuesta", 19 | "Request URL":"URL de la Solicitud", 20 | "Response Body":"Cuerpo de la Respuesta", 21 | "Response Code":"Código de la Respuesta", 22 | "Response Headers":"Encabezados de la Respuesta", 23 | "Hide Response":"Ocultar Respuesta", 24 | "Try it out!":"Pruébalo!", 25 | "Show/Hide":"Mostrar/Ocultar", 26 | "List Operations":"Listar Operaciones", 27 | "Expand Operations":"Expandir Operaciones", 28 | "Raw":"Crudo", 29 | "can't parse JSON. Raw result":"no puede parsear el JSON. Resultado crudo", 30 | "Example Value":"Valor de Ejemplo", 31 | "Model Schema":"Esquema del Modelo", 32 | "Model":"Modelo", 33 | "apply":"aplicar", 34 | "Username":"Nombre de usuario", 35 | "Password":"Contraseña", 36 | "Terms of service":"Términos de Servicio", 37 | "Created by":"Creado por", 38 | "See more at":"Ver más en", 39 | "Contact the developer":"Contactar al desarrollador", 40 | "api version":"versión de la api", 41 | "Response Content Type":"Tipo de Contenido (Content Type) de la Respuesta", 42 | "fetching resource":"buscando recurso", 43 | "fetching resource list":"buscando lista del recurso", 44 | "Explore":"Explorar", 45 | "Show Swagger Petstore Example Apis":"Mostrar Api Ejemplo de Swagger Petstore", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"No se puede leer del servidor. Tal vez no tiene la configuración de control de acceso de origen (access-control-origin) apropiado.", 47 | "Please specify the protocol for":"Por favor, especificar el protocola para", 48 | "Can't read swagger JSON from":"No se puede leer el JSON de swagger desde", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Finalizada la carga del recurso de Información. Mostrando Swagger UI", 50 | "Unable to read api":"No se puede leer la api", 51 | "from path":"desde ruta", 52 | "server returned":"el servidor retornó" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/fr.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Avertissement : Obsolète", 6 | "Implementation Notes":"Notes d'implémentation", 7 | "Response Class":"Classe de la réponse", 8 | "Status":"Statut", 9 | "Parameters":"Paramètres", 10 | "Parameter":"Paramètre", 11 | "Value":"Valeur", 12 | "Description":"Description", 13 | "Parameter Type":"Type du paramètre", 14 | "Data Type":"Type de données", 15 | "Response Messages":"Messages de la réponse", 16 | "HTTP Status Code":"Code de statut HTTP", 17 | "Reason":"Raison", 18 | "Response Model":"Modèle de réponse", 19 | "Request URL":"URL appelée", 20 | "Response Body":"Corps de la réponse", 21 | "Response Code":"Code de la réponse", 22 | "Response Headers":"En-têtes de la réponse", 23 | "Hide Response":"Cacher la réponse", 24 | "Headers":"En-têtes", 25 | "Try it out!":"Testez !", 26 | "Show/Hide":"Afficher/Masquer", 27 | "List Operations":"Liste des opérations", 28 | "Expand Operations":"Développer les opérations", 29 | "Raw":"Brut", 30 | "can't parse JSON. Raw result":"impossible de décoder le JSON. Résultat brut", 31 | "Example Value":"Exemple la valeur", 32 | "Model Schema":"Définition du modèle", 33 | "Model":"Modèle", 34 | "apply":"appliquer", 35 | "Username":"Nom d'utilisateur", 36 | "Password":"Mot de passe", 37 | "Terms of service":"Conditions de service", 38 | "Created by":"Créé par", 39 | "See more at":"Voir plus sur", 40 | "Contact the developer":"Contacter le développeur", 41 | "api version":"version de l'api", 42 | "Response Content Type":"Content Type de la réponse", 43 | "fetching resource":"récupération de la ressource", 44 | "fetching resource list":"récupération de la liste de ressources", 45 | "Explore":"Explorer", 46 | "Show Swagger Petstore Example Apis":"Montrer les Apis de l'exemple Petstore de Swagger", 47 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Impossible de lire à partir du serveur. Il se peut que les réglages access-control-origin ne soient pas appropriés.", 48 | "Please specify the protocol for":"Veuillez spécifier un protocole pour", 49 | "Can't read swagger JSON from":"Impossible de lire le JSON swagger à partir de", 50 | "Finished Loading Resource Information. Rendering Swagger UI":"Chargement des informations terminé. Affichage de Swagger UI", 51 | "Unable to read api":"Impossible de lire l'api", 52 | "from path":"à partir du chemin", 53 | "server returned":"réponse du serveur" 54 | }); 55 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/geo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"ყურადღება: აღარ გამოიყენება", 6 | "Implementation Notes":"იმპლემენტაციის აღწერა", 7 | "Response Class":"რესპონს კლასი", 8 | "Status":"სტატუსი", 9 | "Parameters":"პარამეტრები", 10 | "Parameter":"პარამეტრი", 11 | "Value":"მნიშვნელობა", 12 | "Description":"აღწერა", 13 | "Parameter Type":"პარამეტრის ტიპი", 14 | "Data Type":"მონაცემის ტიპი", 15 | "Response Messages":"პასუხი", 16 | "HTTP Status Code":"HTTP სტატუსი", 17 | "Reason":"მიზეზი", 18 | "Response Model":"რესპონს მოდელი", 19 | "Request URL":"მოთხოვნის URL", 20 | "Response Body":"პასუხის სხეული", 21 | "Response Code":"პასუხის კოდი", 22 | "Response Headers":"პასუხის ჰედერები", 23 | "Hide Response":"დამალე პასუხი", 24 | "Headers":"ჰედერები", 25 | "Try it out!":"ცადე !", 26 | "Show/Hide":"გამოჩენა/დამალვა", 27 | "List Operations":"ოპერაციების სია", 28 | "Expand Operations":"ოპერაციები ვრცლად", 29 | "Raw":"ნედლი", 30 | "can't parse JSON. Raw result":"JSON-ის დამუშავება ვერ მოხერხდა. ნედლი პასუხი", 31 | "Example Value":"მაგალითი", 32 | "Model Schema":"მოდელის სტრუქტურა", 33 | "Model":"მოდელი", 34 | "Click to set as parameter value":"პარამეტრისთვის მნიშვნელობის მისანიჭებლად, დააკლიკე", 35 | "apply":"გამოყენება", 36 | "Username":"მოხმარებელი", 37 | "Password":"პაროლი", 38 | "Terms of service":"მომსახურების პირობები", 39 | "Created by":"შექმნა", 40 | "See more at":"ნახე ვრცლად", 41 | "Contact the developer":"დაუკავშირდი დეველოპერს", 42 | "api version":"api ვერსია", 43 | "Response Content Type":"პასუხის კონტენტის ტიპი", 44 | "Parameter content type:":"პარამეტრის კონტენტის ტიპი:", 45 | "fetching resource":"რესურსების მიღება", 46 | "fetching resource list":"რესურსების სიის მიღება", 47 | "Explore":"ნახვა", 48 | "Show Swagger Petstore Example Apis":"ნახე Swagger Petstore სამაგალითო Api", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"სერვერთან დაკავშირება ვერ ხერხდება. შეამოწმეთ access-control-origin.", 50 | "Please specify the protocol for":"მიუთითეთ პროტოკოლი", 51 | "Can't read swagger JSON from":"swagger JSON წაკითხვა ვერ მოხერხდა", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"რესურსების ჩატვირთვა სრულდება. Swagger UI რენდერდება", 53 | "Unable to read api":"api წაკითხვა ვერ მოხერხდა", 54 | "from path":"მისამართიდან", 55 | "server returned":"სერვერმა დააბრუნა" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/it.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Attenzione: Deprecato", 6 | "Implementation Notes":"Note di implementazione", 7 | "Response Class":"Classe della risposta", 8 | "Status":"Stato", 9 | "Parameters":"Parametri", 10 | "Parameter":"Parametro", 11 | "Value":"Valore", 12 | "Description":"Descrizione", 13 | "Parameter Type":"Tipo di parametro", 14 | "Data Type":"Tipo di dato", 15 | "Response Messages":"Messaggi della risposta", 16 | "HTTP Status Code":"Codice stato HTTP", 17 | "Reason":"Motivo", 18 | "Response Model":"Modello di risposta", 19 | "Request URL":"URL della richiesta", 20 | "Response Body":"Corpo della risposta", 21 | "Response Code":"Oggetto della risposta", 22 | "Response Headers":"Intestazioni della risposta", 23 | "Hide Response":"Nascondi risposta", 24 | "Try it out!":"Provalo!", 25 | "Show/Hide":"Mostra/Nascondi", 26 | "List Operations":"Mostra operazioni", 27 | "Expand Operations":"Espandi operazioni", 28 | "Raw":"Grezzo (raw)", 29 | "can't parse JSON. Raw result":"non è possibile parsare il JSON. Risultato grezzo (raw).", 30 | "Model Schema":"Schema del modello", 31 | "Model":"Modello", 32 | "apply":"applica", 33 | "Username":"Nome utente", 34 | "Password":"Password", 35 | "Terms of service":"Condizioni del servizio", 36 | "Created by":"Creato da", 37 | "See more at":"Informazioni aggiuntive:", 38 | "Contact the developer":"Contatta lo sviluppatore", 39 | "api version":"versione api", 40 | "Response Content Type":"Tipo di contenuto (content type) della risposta", 41 | "fetching resource":"recuperando la risorsa", 42 | "fetching resource list":"recuperando lista risorse", 43 | "Explore":"Esplora", 44 | "Show Swagger Petstore Example Apis":"Mostra le api di esempio di Swagger Petstore", 45 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Non è possibile leggere dal server. Potrebbe non avere le impostazioni di controllo accesso origine (access-control-origin) appropriate.", 46 | "Please specify the protocol for":"Si prega di specificare il protocollo per", 47 | "Can't read swagger JSON from":"Impossibile leggere JSON swagger da:", 48 | "Finished Loading Resource Information. Rendering Swagger UI":"Lettura informazioni risorse termianta. Swagger UI viene mostrata", 49 | "Unable to read api":"Impossibile leggere la api", 50 | "from path":"da cartella", 51 | "server returned":"il server ha restituito" 52 | }); 53 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/ja.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"警告: 廃止予定", 6 | "Implementation Notes":"実装メモ", 7 | "Response Class":"レスポンスクラス", 8 | "Status":"ステータス", 9 | "Parameters":"パラメータ群", 10 | "Parameter":"パラメータ", 11 | "Value":"値", 12 | "Description":"説明", 13 | "Parameter Type":"パラメータタイプ", 14 | "Data Type":"データタイプ", 15 | "Response Messages":"レスポンスメッセージ", 16 | "HTTP Status Code":"HTTPステータスコード", 17 | "Reason":"理由", 18 | "Response Model":"レスポンスモデル", 19 | "Request URL":"リクエストURL", 20 | "Response Body":"レスポンスボディ", 21 | "Response Code":"レスポンスコード", 22 | "Response Headers":"レスポンスヘッダ", 23 | "Hide Response":"レスポンスを隠す", 24 | "Headers":"ヘッダ", 25 | "Try it out!":"実際に実行!", 26 | "Show/Hide":"表示/非表示", 27 | "List Operations":"操作一覧", 28 | "Expand Operations":"操作の展開", 29 | "Raw":"未加工", 30 | "can't parse JSON. Raw result":"JSONへ解釈できません. 未加工の結果", 31 | "Example Value":"値の例", 32 | "Model Schema":"モデルスキーマ", 33 | "Model":"モデル", 34 | "Click to set as parameter value":"パラメータ値と設定するにはクリック", 35 | "apply":"実行", 36 | "Username":"ユーザ名", 37 | "Password":"パスワード", 38 | "Terms of service":"サービス利用規約", 39 | "Created by":"Created by", 40 | "See more at":"詳細を見る", 41 | "Contact the developer":"開発者に連絡", 42 | "api version":"APIバージョン", 43 | "Response Content Type":"レスポンス コンテンツタイプ", 44 | "Parameter content type:":"パラメータコンテンツタイプ:", 45 | "fetching resource":"リソースの取得", 46 | "fetching resource list":"リソース一覧の取得", 47 | "Explore":"調査", 48 | "Show Swagger Petstore Example Apis":"SwaggerペットストアAPIの表示", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"サーバから読み込めません. 適切なaccess-control-origin設定を持っていない可能性があります.", 50 | "Please specify the protocol for":"プロトコルを指定してください", 51 | "Can't read swagger JSON from":"次からswagger JSONを読み込めません", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"リソース情報の読み込みが完了しました. Swagger UIを描画しています", 53 | "Unable to read api":"APIを読み込めません", 54 | "from path":"次のパスから", 55 | "server returned":"サーバからの返答" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/ko-kr.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"경고:폐기예정됨", 6 | "Implementation Notes":"구현 노트", 7 | "Response Class":"응답 클래스", 8 | "Status":"상태", 9 | "Parameters":"매개변수들", 10 | "Parameter":"매개변수", 11 | "Value":"값", 12 | "Description":"설명", 13 | "Parameter Type":"매개변수 타입", 14 | "Data Type":"데이터 타입", 15 | "Response Messages":"응답 메세지", 16 | "HTTP Status Code":"HTTP 상태 코드", 17 | "Reason":"원인", 18 | "Response Model":"응답 모델", 19 | "Request URL":"요청 URL", 20 | "Response Body":"응답 본문", 21 | "Response Code":"응답 코드", 22 | "Response Headers":"응답 헤더", 23 | "Hide Response":"응답 숨기기", 24 | "Headers":"헤더", 25 | "Try it out!":"써보기!", 26 | "Show/Hide":"보이기/숨기기", 27 | "List Operations":"목록 작업", 28 | "Expand Operations":"전개 작업", 29 | "Raw":"원본", 30 | "can't parse JSON. Raw result":"JSON을 파싱할수 없음. 원본결과:", 31 | "Model Schema":"모델 스키마", 32 | "Model":"모델", 33 | "apply":"적용", 34 | "Username":"사용자 이름", 35 | "Password":"암호", 36 | "Terms of service":"이용약관", 37 | "Created by":"작성자", 38 | "See more at":"추가정보:", 39 | "Contact the developer":"개발자에게 문의", 40 | "api version":"api버전", 41 | "Response Content Type":"응답Content Type", 42 | "fetching resource":"리소스 가져오기", 43 | "fetching resource list":"리소스 목록 가져오기", 44 | "Explore":"탐색", 45 | "Show Swagger Petstore Example Apis":"Swagger Petstore 예제 보기", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"서버로부터 읽어들일수 없습니다. access-control-origin 설정이 올바르지 않을수 있습니다.", 47 | "Please specify the protocol for":"다음을 위한 프로토콜을 정하세요", 48 | "Can't read swagger JSON from":"swagger JSON 을 다음으로 부터 읽을수 없습니다", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"리소스 정보 불러오기 완료. Swagger UI 랜더링", 50 | "Unable to read api":"api를 읽을 수 없습니다.", 51 | "from path":"다음 경로로 부터", 52 | "server returned":"서버 응답함." 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/pl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Uwaga: Wycofane", 6 | "Implementation Notes":"Uwagi Implementacji", 7 | "Response Class":"Klasa Odpowiedzi", 8 | "Status":"Status", 9 | "Parameters":"Parametry", 10 | "Parameter":"Parametr", 11 | "Value":"Wartość", 12 | "Description":"Opis", 13 | "Parameter Type":"Typ Parametru", 14 | "Data Type":"Typ Danych", 15 | "Response Messages":"Wiadomości Odpowiedzi", 16 | "HTTP Status Code":"Kod Statusu HTTP", 17 | "Reason":"Przyczyna", 18 | "Response Model":"Model Odpowiedzi", 19 | "Request URL":"URL Wywołania", 20 | "Response Body":"Treść Odpowiedzi", 21 | "Response Code":"Kod Odpowiedzi", 22 | "Response Headers":"Nagłówki Odpowiedzi", 23 | "Hide Response":"Ukryj Odpowiedź", 24 | "Headers":"Nagłówki", 25 | "Try it out!":"Wypróbuj!", 26 | "Show/Hide":"Pokaż/Ukryj", 27 | "List Operations":"Lista Operacji", 28 | "Expand Operations":"Rozwiń Operacje", 29 | "Raw":"Nieprzetworzone", 30 | "can't parse JSON. Raw result":"nie można przetworzyć pliku JSON. Nieprzetworzone dane", 31 | "Model Schema":"Schemat Modelu", 32 | "Model":"Model", 33 | "apply":"użyj", 34 | "Username":"Nazwa użytkownika", 35 | "Password":"Hasło", 36 | "Terms of service":"Warunki używania", 37 | "Created by":"Utworzone przez", 38 | "See more at":"Zobacz więcej na", 39 | "Contact the developer":"Kontakt z deweloperem", 40 | "api version":"wersja api", 41 | "Response Content Type":"Typ Zasobu Odpowiedzi", 42 | "fetching resource":"ładowanie zasobu", 43 | "fetching resource list":"ładowanie listy zasobów", 44 | "Explore":"Eksploruj", 45 | "Show Swagger Petstore Example Apis":"Pokaż Przykładowe Api Swagger Petstore", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Brak połączenia z serwerem. Może on nie mieć odpowiednich ustawień access-control-origin.", 47 | "Please specify the protocol for":"Proszę podać protokół dla", 48 | "Can't read swagger JSON from":"Nie można odczytać swagger JSON z", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Ukończono Ładowanie Informacji o Zasobie. Renderowanie Swagger UI", 50 | "Unable to read api":"Nie można odczytać api", 51 | "from path":"ze ścieżki", 52 | "server returned":"serwer zwrócił" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/pt.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Aviso: Depreciado", 6 | "Implementation Notes":"Notas de Implementação", 7 | "Response Class":"Classe de resposta", 8 | "Status":"Status", 9 | "Parameters":"Parâmetros", 10 | "Parameter":"Parâmetro", 11 | "Value":"Valor", 12 | "Description":"Descrição", 13 | "Parameter Type":"Tipo de parâmetro", 14 | "Data Type":"Tipo de dados", 15 | "Response Messages":"Mensagens de resposta", 16 | "HTTP Status Code":"Código de status HTTP", 17 | "Reason":"Razão", 18 | "Response Model":"Modelo resposta", 19 | "Request URL":"URL requisição", 20 | "Response Body":"Corpo da resposta", 21 | "Response Code":"Código da resposta", 22 | "Response Headers":"Cabeçalho da resposta", 23 | "Headers":"Cabeçalhos", 24 | "Hide Response":"Esconder resposta", 25 | "Try it out!":"Tente agora!", 26 | "Show/Hide":"Mostrar/Esconder", 27 | "List Operations":"Listar operações", 28 | "Expand Operations":"Expandir operações", 29 | "Raw":"Cru", 30 | "can't parse JSON. Raw result":"Falha ao analisar JSON. Resulto cru", 31 | "Model Schema":"Modelo esquema", 32 | "Model":"Modelo", 33 | "apply":"Aplicar", 34 | "Username":"Usuário", 35 | "Password":"Senha", 36 | "Terms of service":"Termos do serviço", 37 | "Created by":"Criado por", 38 | "See more at":"Veja mais em", 39 | "Contact the developer":"Contate o desenvolvedor", 40 | "api version":"Versão api", 41 | "Response Content Type":"Tipo de conteúdo da resposta", 42 | "fetching resource":"busca recurso", 43 | "fetching resource list":"buscando lista de recursos", 44 | "Explore":"Explorar", 45 | "Show Swagger Petstore Example Apis":"Show Swagger Petstore Example Apis", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Não é possível ler do servidor. Pode não ter as apropriadas configurações access-control-origin", 47 | "Please specify the protocol for":"Por favor especifique o protocolo", 48 | "Can't read swagger JSON from":"Não é possível ler o JSON Swagger de", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Carregar informação de recurso finalizada. Renderizando Swagger UI", 50 | "Unable to read api":"Não foi possível ler api", 51 | "from path":"do caminho", 52 | "server returned":"servidor retornou" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/ru.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Предупреждение: Устарело", 6 | "Implementation Notes":"Заметки", 7 | "Response Class":"Пример ответа", 8 | "Status":"Статус", 9 | "Parameters":"Параметры", 10 | "Parameter":"Параметр", 11 | "Value":"Значение", 12 | "Description":"Описание", 13 | "Parameter Type":"Тип параметра", 14 | "Data Type":"Тип данных", 15 | "HTTP Status Code":"HTTP код", 16 | "Reason":"Причина", 17 | "Response Model":"Структура ответа", 18 | "Request URL":"URL запроса", 19 | "Response Body":"Тело ответа", 20 | "Response Code":"HTTP код ответа", 21 | "Response Headers":"Заголовки ответа", 22 | "Hide Response":"Спрятать ответ", 23 | "Headers":"Заголовки", 24 | "Response Messages":"Что может прийти в ответ", 25 | "Try it out!":"Попробовать!", 26 | "Show/Hide":"Показать/Скрыть", 27 | "List Operations":"Операции кратко", 28 | "Expand Operations":"Операции подробно", 29 | "Raw":"В сыром виде", 30 | "can't parse JSON. Raw result":"Не удается распарсить ответ:", 31 | "Example Value":"Пример", 32 | "Model Schema":"Структура", 33 | "Model":"Описание", 34 | "Click to set as parameter value":"Нажмите, чтобы испльзовать в качестве значения параметра", 35 | "apply":"применить", 36 | "Username":"Имя пользователя", 37 | "Password":"Пароль", 38 | "Terms of service":"Условия использования", 39 | "Created by":"Разработано", 40 | "See more at":"Еще тут", 41 | "Contact the developer":"Связаться с разработчиком", 42 | "api version":"Версия API", 43 | "Response Content Type":"Content Type ответа", 44 | "Parameter content type:":"Content Type параметра:", 45 | "fetching resource":"Получение ресурса", 46 | "fetching resource list":"Получение ресурсов", 47 | "Explore":"Показать", 48 | "Show Swagger Petstore Example Apis":"Показать примеры АПИ", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Не удается получить ответ от сервера. Возможно, проблема с настройками доступа", 50 | "Please specify the protocol for":"Пожалуйста, укажите протокол для", 51 | "Can't read swagger JSON from":"Не получается прочитать swagger json из", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"Загрузка информации о ресурсах завершена. Рендерим", 53 | "Unable to read api":"Не удалось прочитать api", 54 | "from path":"по адресу", 55 | "server returned":"сервер сказал" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/tr.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"Uyarı: Deprecated", 6 | "Implementation Notes":"Gerçekleştirim Notları", 7 | "Response Class":"Dönen Sınıf", 8 | "Status":"Statü", 9 | "Parameters":"Parametreler", 10 | "Parameter":"Parametre", 11 | "Value":"Değer", 12 | "Description":"Açıklama", 13 | "Parameter Type":"Parametre Tipi", 14 | "Data Type":"Veri Tipi", 15 | "Response Messages":"Dönüş Mesajı", 16 | "HTTP Status Code":"HTTP Statü Kodu", 17 | "Reason":"Gerekçe", 18 | "Response Model":"Dönüş Modeli", 19 | "Request URL":"İstek URL", 20 | "Response Body":"Dönüş İçeriği", 21 | "Response Code":"Dönüş Kodu", 22 | "Response Headers":"Dönüş Üst Bilgileri", 23 | "Hide Response":"Dönüşü Gizle", 24 | "Headers":"Üst Bilgiler", 25 | "Try it out!":"Dene!", 26 | "Show/Hide":"Göster/Gizle", 27 | "List Operations":"Operasyonları Listele", 28 | "Expand Operations":"Operasyonları Aç", 29 | "Raw":"Ham", 30 | "can't parse JSON. Raw result":"JSON çözümlenemiyor. Ham sonuç", 31 | "Model Schema":"Model Şema", 32 | "Model":"Model", 33 | "apply":"uygula", 34 | "Username":"Kullanıcı Adı", 35 | "Password":"Parola", 36 | "Terms of service":"Servis şartları", 37 | "Created by":"Oluşturan", 38 | "See more at":"Daha fazlası için", 39 | "Contact the developer":"Geliştirici ile İletişime Geçin", 40 | "api version":"api versiyon", 41 | "Response Content Type":"Dönüş İçerik Tipi", 42 | "fetching resource":"kaynak getiriliyor", 43 | "fetching resource list":"kaynak listesi getiriliyor", 44 | "Explore":"Keşfet", 45 | "Show Swagger Petstore Example Apis":"Swagger Petstore Örnek Api'yi Gör", 46 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"Sunucudan okuma yapılamıyor. Sunucu access-control-origin ayarlarınızı kontrol edin.", 47 | "Please specify the protocol for":"Lütfen istenen adres için protokol belirtiniz", 48 | "Can't read swagger JSON from":"Swagger JSON bu kaynaktan okunamıyor", 49 | "Finished Loading Resource Information. Rendering Swagger UI":"Kaynak baglantısı tamamlandı. Swagger UI gösterime hazırlanıyor", 50 | "Unable to read api":"api okunamadı", 51 | "from path":"yoldan", 52 | "server returned":"sunucuya dönüldü" 53 | }); 54 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/translator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Translator for documentation pages. 5 | * 6 | * To enable translation you should include one of language-files in your index.html 7 | * after . 8 | * For example - 9 | * 10 | * If you wish to translate some new texts you should do two things: 11 | * 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. 12 | * 2. Mark that text it templates this way New Phrase or . 13 | * The main thing here is attribute data-sw-translate. Only inner html, title-attribute and value-attribute are going to translate. 14 | * 15 | */ 16 | window.SwaggerTranslator = { 17 | 18 | _words:[], 19 | 20 | translate: function(sel) { 21 | var $this = this; 22 | sel = sel || '[data-sw-translate]'; 23 | 24 | $(sel).each(function() { 25 | $(this).html($this._tryTranslate($(this).html())); 26 | 27 | $(this).val($this._tryTranslate($(this).val())); 28 | $(this).attr('title', $this._tryTranslate($(this).attr('title'))); 29 | }); 30 | }, 31 | 32 | _tryTranslate: function(word) { 33 | return this._words[$.trim(word)] !== undefined ? this._words[$.trim(word)] : word; 34 | }, 35 | 36 | learn: function(wordsMap) { 37 | this._words = wordsMap; 38 | } 39 | }; 40 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lang/zh-cn.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jshint quotmark: double */ 4 | window.SwaggerTranslator.learn({ 5 | "Warning: Deprecated":"警告:已过时", 6 | "Implementation Notes":"实现备注", 7 | "Response Class":"响应类", 8 | "Status":"状态", 9 | "Parameters":"参数", 10 | "Parameter":"参数", 11 | "Value":"值", 12 | "Description":"描述", 13 | "Parameter Type":"参数类型", 14 | "Data Type":"数据类型", 15 | "Response Messages":"响应消息", 16 | "HTTP Status Code":"HTTP状态码", 17 | "Reason":"原因", 18 | "Response Model":"响应模型", 19 | "Request URL":"请求URL", 20 | "Response Body":"响应体", 21 | "Response Code":"响应码", 22 | "Response Headers":"响应头", 23 | "Hide Response":"隐藏响应", 24 | "Headers":"头", 25 | "Try it out!":"试一下!", 26 | "Show/Hide":"显示/隐藏", 27 | "List Operations":"显示操作", 28 | "Expand Operations":"展开操作", 29 | "Raw":"原始", 30 | "can't parse JSON. Raw result":"无法解析JSON. 原始结果", 31 | "Example Value":"示例", 32 | "Click to set as parameter value":"点击设置参数", 33 | "Model Schema":"模型架构", 34 | "Model":"模型", 35 | "apply":"应用", 36 | "Username":"用户名", 37 | "Password":"密码", 38 | "Terms of service":"服务条款", 39 | "Created by":"创建者", 40 | "See more at":"查看更多:", 41 | "Contact the developer":"联系开发者", 42 | "api version":"api版本", 43 | "Response Content Type":"响应Content Type", 44 | "Parameter content type:":"参数类型:", 45 | "fetching resource":"正在获取资源", 46 | "fetching resource list":"正在获取资源列表", 47 | "Explore":"浏览", 48 | "Show Swagger Petstore Example Apis":"显示 Swagger Petstore 示例 Apis", 49 | "Can't read from server. It may not have the appropriate access-control-origin settings.":"无法从服务器读取。可能没有正确设置access-control-origin。", 50 | "Please specify the protocol for":"请指定协议:", 51 | "Can't read swagger JSON from":"无法读取swagger JSON于", 52 | "Finished Loading Resource Information. Rendering Swagger UI":"已加载资源信息。正在渲染Swagger UI", 53 | "Unable to read api":"无法读取api", 54 | "from path":"从路径", 55 | "server returned":"服务器返回" 56 | }); 57 | -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lib/highlight.9.1.0.pack_extended.js: -------------------------------------------------------------------------------- 1 | "use strict";!function(){var h,l;h=hljs.configure,hljs.configure=function(l){var i=l.highlightSizeThreshold;hljs.highlightSizeThreshold=i===+i?i:null,h.call(this,l)},l=hljs.highlightBlock,hljs.highlightBlock=function(h){var i=h.innerHTML,g=hljs.highlightSizeThreshold;(null==g||g>i.length)&&l.call(hljs,h)}}(); -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lib/jquery.ba-bbq.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){function n(e){return"string"==typeof e}function r(e){var t=g.call(arguments,1);return function(){return e.apply(this,t.concat(g.call(arguments)))}}function o(e){return e.replace(/^[^#]*#?(.*)$/,"$1")}function a(e){return e.replace(/(?:^[^?#]*\?([^#]*).*$)?.*/,"$1")}function i(r,o,a,i,c){var u,s,p,h,d;return i!==f?(p=a.match(r?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/),d=p[3]||"",2===c&&n(i)?s=i.replace(r?R:E,""):(h=l(p[2]),i=n(i)?l[r?A:w](i):i,s=2===c?i:1===c?e.extend({},i,h):e.extend({},h,i),s=b(s),r&&(s=s.replace(m,y))),u=p[1]+(r?"#":s||!p[1]?"?":"")+s+d):u=o(a!==f?a:t[S][q]),u}function c(e,t,r){return t===f||"boolean"==typeof t?(r=t,t=b[e?A:w]()):t=n(t)?t.replace(e?R:E,""):t,l(t,r)}function u(t,r,o,a){return n(o)||"object"==typeof o||(a=o,o=r,r=f),this.each(function(){var n=e(this),i=r||v()[(this.nodeName||"").toLowerCase()]||"",c=i&&n.attr(i)||"";n.attr(i,b[t](c,o,a))})}var f,s,l,p,h,d,v,m,g=Array.prototype.slice,y=decodeURIComponent,b=e.param,$=e.bbq=e.bbq||{},x=e.event.special,j="hashchange",w="querystring",A="fragment",N="elemUrlAttr",S="location",q="href",C="src",E=/^.*\?|#.*$/g,R=/^.*\#/,U={};b[w]=r(i,0,a),b[A]=s=r(i,1,o),s.noEscape=function(t){t=t||"";var n=e.map(t.split(""),encodeURIComponent);m=new RegExp(n.join("|"),"g")},s.noEscape(",/"),e.deparam=l=function(t,n){var r={},o={"true":!0,"false":!1,"null":null};return e.each(t.replace(/\+/g," ").split("&"),function(t,a){var i,c=a.split("="),u=y(c[0]),s=r,l=0,p=u.split("]["),h=p.length-1;if(/\[/.test(p[0])&&/\]$/.test(p[h])?(p[h]=p[h].replace(/\]$/,""),p=p.shift().split("[").concat(p),h=p.length-1):h=0,2===c.length)if(i=y(c[1]),n&&(i=i&&!isNaN(i)?+i:"undefined"===i?f:o[i]!==f?o[i]:i),h)for(;l<=h;l++)u=""===p[l]?s.length:p[l],s=s[u]=l').hide().insertAfter("body")[0].contentWindow,s=function(){return r(a.document[i][u])},(f=function(e,t){if(e!==t){var n=a.document;n.open().close(),n[i].hash="#"+e}})(r()))}var o,a,f,s,p={};return p.start=function(){if(!o){var a=r();f||n(),function l(){var n=r(),p=s(a);n!==a?(f(a=n,p),e(t).trigger(c)):p!==a&&(t[i][u]=t[i][u].replace(/#.*/,"")+"#"+p),o=setTimeout(l,e[c+"Delay"])}()}},p.stop=function(){a||(o&&clearTimeout(o),o=0)},p}()}(jQuery,this); -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lib/jquery.slideto.min.js: -------------------------------------------------------------------------------- 1 | !function(i){i.fn.slideto=function(o){return o=i.extend({slide_duration:"slow",highlight_duration:3e3,highlight:!0,highlight_color:"#FFFF99"},o),this.each(function(){obj=i(this),i("body").animate({scrollTop:obj.offset().top},o.slide_duration,function(){o.highlight&&i.ui.version&&obj.effect("highlight",{color:o.highlight_color},o.highlight_duration)})})}}(jQuery); -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lib/jquery.wiggle.min.js: -------------------------------------------------------------------------------- 1 | jQuery.fn.wiggle=function(e){var a={speed:50,wiggles:3,travel:5,callback:null},e=jQuery.extend(a,e);return this.each(function(){var a=this,l=(jQuery(this).wrap('
').css("position","relative"),0);for(i=1;i<=e.wiggles;i++)jQuery(this).animate({left:"-="+e.travel},e.speed).animate({left:"+="+2*e.travel},2*e.speed).animate({left:"-="+e.travel},e.speed,function(){l++,jQuery(a).parent().hasClass("wiggle-wrap")&&jQuery(a).parent().replaceWith(a),l==e.wiggles&&jQuery.isFunction(e.callback)&&e.callback()})})}; -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/lib/object-assign-pollyfill.js: -------------------------------------------------------------------------------- 1 | "function"!=typeof Object.assign&&!function(){Object.assign=function(n){"use strict";if(void 0===n||null===n)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(n),o=1;o','
Select OAuth2.0 Scopes
','
',"

Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.",'Learn how to use',"

","

"+appName+" API requires the following scopes. Select which ones you want to grant to Swagger UI.

",'
    ',"
",'

','
',"
",""].join("")),$(document.body).append(popupDialog),popup=popupDialog.find("ul.api-popup-scopes").empty(),p=0;p",popup.append(str);var r=$(window),s=r.width(),c=r.height(),l=r.scrollTop(),d=popupDialog.outerWidth(),u=popupDialog.outerHeight(),h=(c-u)/2+l,g=(s-d)/2;popupDialog.css({top:(h<0?0:h)+"px",left:(g<0?0:g)+"px"}),popupDialog.find("button.api-popup-cancel").click(function(){popupMask.hide(),popupDialog.hide(),popupDialog.empty(),popupDialog=[]}),$("button.api-popup-authbtn").unbind(),popupDialog.find("button.api-popup-authbtn").click(function(){function e(e){return e.vendorExtensions["x-tokenName"]||e.tokenName}popupMask.hide(),popupDialog.hide();var o,i=window.swaggerUi.api.authSchemes,n=window.location,a=location.pathname.substring(0,location.pathname.lastIndexOf("/")),t=n.protocol+"//"+n.host+a+"/o2c.html",p=window.oAuthRedirectUrl||t,r=null,s=[],c=popup.find("input:checked"),l=[];for(k=0;k0?void log("auth unable initialize oauth: "+i):($("pre code").each(function(e,o){hljs.highlightBlock(o)}),$(".api-ic").unbind(),void $(".api-ic").click(function(e){$(e.target).hasClass("ic-off")?handleLogin():handleLogout()}))}function clientCredentialsFlow(e,o,i){var n={client_id:clientId,client_secret:clientSecret,scope:e.join(" "),grant_type:"client_credentials"};$.ajax({url:o,type:"POST",data:n,success:function(e,o,n){onOAuthComplete(e,i)},error:function(e,o,i){onOAuthComplete("")}})}var appName,popupMask,popupDialog,clientId,realm,redirect_uri,clientSecret,scopeSeparator,additionalQueryStringParams;window.processOAuthCode=function(e){var o=e.state,i=window.location,n=location.pathname.substring(0,location.pathname.lastIndexOf("/")),a=i.protocol+"//"+i.host+n+"/o2c.html",t=window.oAuthRedirectUrl||a,p={client_id:clientId,code:e.code,grant_type:"authorization_code",redirect_uri:t};clientSecret&&(p.client_secret=clientSecret),$.ajax({url:window.swaggerUiAuth.tokenUrl,type:"POST",data:p,success:function(e,i,n){onOAuthComplete(e,o)},error:function(e,o,i){onOAuthComplete("")}})},window.onOAuthComplete=function(e,o){if(e)if(e.error){var i=$("input[type=checkbox],.secured");i.each(function(e){i[e].checked=!1}),alert(e.error)}else{var n=e[window.swaggerUiAuth.tokenName];if(o||(o=e.state),n){var a=null;$.each($(".auth .api-ic .api_information_panel"),function(e,o){var i=o;if(i&&i.childNodes){var n=[];$.each(i.childNodes,function(e,o){var i=o.innerHTML;i&&n.push(i)});for(var t=[],p=0;p0?(a=o.parentNode.parentNode,$(a.parentNode).find(".api-ic.ic-on").addClass("ic-off"),$(a.parentNode).find(".api-ic.ic-on").removeClass("ic-on"),$(a).find(".api-ic").addClass("ic-warning"),$(a).find(".api-ic").removeClass("ic-error")):(a=o.parentNode.parentNode,$(a.parentNode).find(".api-ic.ic-off").addClass("ic-on"),$(a.parentNode).find(".api-ic.ic-off").removeClass("ic-off"),$(a).find(".api-ic").addClass("ic-info"),$(a).find(".api-ic").removeClass("ic-warning"),$(a).find(".api-ic").removeClass("ic-error"))}}),"undefined"!=typeof window.swaggerUi&&(window.swaggerUi.api.clientAuthorizations.add(window.swaggerUiAuth.OAuthSchemeKey,new SwaggerClient.ApiKeyAuthorization("Authorization","Bearer "+n,"header")),window.swaggerUi.load())}}}; -------------------------------------------------------------------------------- /swagger-dubbo-example/dubbo-provider/src/main/webapp/distv2/o2c.html: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /swagger-dubbo-example/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | com.deepoove 6 | swagger-dubbo-example 7 | 3.0.0-SNAPSHOT 8 | pom 9 | swagger-dubbo-example 10 | http://maven.apache.org 11 | 12 | UTF-8 13 | 14 | 15 | 16 | 17 | 18 | org.apache.maven.plugins 19 | maven-deploy-plugin 20 | 2.5 21 | 22 | true 23 | 24 | 25 | 26 | 27 | 28 | 29 | dubbo-api 30 | dubbo-provider 31 | dubbo-provider-springboot 32 | 33 | -------------------------------------------------------------------------------- /swagger-dubbo-example/swagger_ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/swagger_ui.png -------------------------------------------------------------------------------- /swagger-dubbo-example/swagger_ui_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sayi/swagger-dubbo/428851031419ed2c6090c1974fc0f9e977b24a5b/swagger-dubbo-example/swagger_ui_3.png -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/annotations/EnableDubboSwagger.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.annotations; 2 | 3 | import com.deepoove.swagger.dubbo.config.DubboSwaggerConfig; 4 | import org.springframework.context.annotation.Import; 5 | 6 | import java.lang.annotation.Documented; 7 | import java.lang.annotation.Retention; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) 11 | @Target(value = {java.lang.annotation.ElementType.TYPE}) 12 | @Documented 13 | @Import(DubboSwaggerConfig.class) 14 | public @interface EnableDubboSwagger { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/config/DubboPropertyConfig.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.config; 2 | 3 | import io.swagger.config.SwaggerConfig; 4 | import io.swagger.models.Contact; 5 | import io.swagger.models.Info; 6 | import io.swagger.models.Swagger; 7 | import org.apache.commons.lang3.StringUtils; 8 | import org.apache.dubbo.config.ApplicationConfig; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.beans.factory.annotation.Value; 11 | import org.springframework.stereotype.Component; 12 | import org.springframework.web.context.ServletContextAware; 13 | 14 | import javax.servlet.ServletContext; 15 | import java.text.MessageFormat; 16 | 17 | @Component 18 | public class DubboPropertyConfig implements SwaggerConfig, ServletContextAware { 19 | 20 | @Value("${swagger.dubbo.application.version:}") 21 | private String version; 22 | @Value("${swagger.dubbo.application.groupId:}") 23 | private String groupId; 24 | @Value("${swagger.dubbo.application.artifactId:}") 25 | private String artifactId; 26 | 27 | @Autowired 28 | private ReferenceManager referenceManager; 29 | 30 | private ServletContext servletContext; 31 | 32 | private static String mavenDependency = "<dependency>
" 33 | + "    <groupId>{0}</groupId>
" 34 | + "    <artifactId>{1}</artifactId>
" 35 | + "    <version>{2}</version>
" 36 | + "</dependency>
"; 37 | 38 | @Override 39 | public Swagger configure(Swagger swagger) { 40 | ApplicationConfig application = referenceManager.getApplication(); 41 | if (null != application) { 42 | Info info = swagger.getInfo(); 43 | if (info == null) { 44 | info = new Info(); 45 | swagger.setInfo(info); 46 | } 47 | info.setTitle(application.getName()); 48 | 49 | version = StringUtils.isNotBlank(version) ? version : application.getVersion(); 50 | if (StringUtils.isNotBlank(groupId) 51 | && StringUtils.isNotBlank(artifactId) 52 | && StringUtils.isNotBlank(version)) { 53 | info.setDescription(MessageFormat.format(mavenDependency, groupId, artifactId, version)); 54 | } 55 | info.setVersion(StringUtils.isNotBlank(version) ? version : ""); 56 | 57 | Contact contact = new Contact(); 58 | info.setContact(contact); 59 | contact.setName(application.getOwner()); 60 | } 61 | setBashPath(swagger); 62 | return swagger; 63 | } 64 | 65 | private void setBashPath(Swagger swagger) { 66 | if (StringUtils.isEmpty(swagger.getBasePath())) { 67 | swagger.setBasePath(StringUtils.isEmpty(servletContext.getContextPath()) ? "/" : servletContext.getContextPath()); 68 | } 69 | } 70 | 71 | @Override 72 | public String getFilterClass() { 73 | return null; 74 | } 75 | 76 | @Override 77 | public void setServletContext(ServletContext servletContext) { 78 | this.servletContext = servletContext; 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/config/DubboServiceScanner.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.config; 2 | 3 | import io.swagger.config.Scanner; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.stereotype.Component; 6 | 7 | import java.util.Map; 8 | import java.util.Set; 9 | 10 | @Component 11 | public class DubboServiceScanner implements Scanner { 12 | 13 | @Autowired 14 | private ReferenceManager referenceManager; 15 | 16 | @Override 17 | public Set> classes() { 18 | return interfaceMapRef().keySet(); 19 | } 20 | 21 | public Map, Object> interfaceMapRef() { 22 | return referenceManager.getInterfaceMapRef(); 23 | } 24 | 25 | @Override 26 | public boolean getPrettyPrint() { 27 | return false; 28 | } 29 | 30 | @Override 31 | public void setPrettyPrint(boolean shouldPrettyPrint) { 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/config/DubboSwaggerConfig.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.config; 2 | 3 | import org.springframework.context.annotation.ComponentScan; 4 | import org.springframework.context.annotation.Configuration; 5 | 6 | @ComponentScan(basePackages = {"com.deepoove.swagger.dubbo.config", "com.deepoove.swagger.dubbo.web"}) 7 | @Configuration 8 | public class DubboSwaggerConfig { 9 | } 10 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/config/ReferenceManager.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.config; 2 | 3 | import org.apache.dubbo.config.ApplicationConfig; 4 | import org.apache.dubbo.config.ReferenceConfig; 5 | import org.apache.dubbo.config.ServiceConfigBase; 6 | import org.apache.dubbo.config.context.ModuleConfigManager; 7 | import org.apache.dubbo.config.spring.ServiceBean; 8 | import org.apache.dubbo.config.spring.util.DubboBeanUtils; 9 | import org.apache.dubbo.rpc.model.ModuleModel; 10 | import org.springframework.beans.BeansException; 11 | import org.springframework.beans.factory.SmartInitializingSingleton; 12 | import org.springframework.context.ApplicationContext; 13 | import org.springframework.context.ApplicationContextAware; 14 | import org.springframework.stereotype.Component; 15 | 16 | import java.util.Collection; 17 | import java.util.HashSet; 18 | import java.util.Map; 19 | import java.util.Map.Entry; 20 | import java.util.Set; 21 | import java.util.concurrent.ConcurrentHashMap; 22 | 23 | @Component 24 | public class ReferenceManager implements ApplicationContextAware, SmartInitializingSingleton { 25 | 26 | @SuppressWarnings("rawtypes") 27 | private static Collection services; 28 | 29 | private static Map, Object> interfaceMapProxy = new ConcurrentHashMap<>(); 30 | private static Map, Object> interfaceMapRef = new ConcurrentHashMap<>(); 31 | 32 | private static ApplicationConfig application; 33 | 34 | 35 | public Object getProxy(String interfaceClass) { 36 | Set, Object>> entrySet = interfaceMapProxy.entrySet(); 37 | for (Entry, Object> entry : entrySet) { 38 | if (entry.getKey().getName().equals(interfaceClass)) { 39 | return entry.getValue(); 40 | } 41 | } 42 | 43 | for (ServiceConfigBase service : services) { 44 | if (interfaceClass.equals(service.getInterfaceClass().getName())) { 45 | ReferenceConfig reference = new ReferenceConfig(); 46 | reference.setRegistry(service.getRegistry()); 47 | reference.setRegistries(service.getRegistries()); 48 | reference.setInterface(service.getInterfaceClass()); 49 | reference.setVersion(service.getVersion()); 50 | reference.setGroup(service.getGroup()); 51 | interfaceMapProxy.put(service.getInterfaceClass(), reference.get()); 52 | return reference.get(); 53 | } 54 | } 55 | return null; 56 | } 57 | 58 | public Entry, Object> getRef(String interfaceClass) { 59 | Set, Object>> entrySet = interfaceMapRef.entrySet(); 60 | for (Entry, Object> entry : entrySet) { 61 | if (entry.getKey().getName().equals(interfaceClass)) { 62 | return entry; 63 | } 64 | } 65 | return null; 66 | } 67 | 68 | @SuppressWarnings("rawtypes") 69 | public Collection getServices() { 70 | return services; 71 | } 72 | 73 | public ApplicationConfig getApplication() { 74 | return application; 75 | } 76 | 77 | public Map, Object> getInterfaceMapRef() { 78 | return interfaceMapRef; 79 | } 80 | 81 | @Override 82 | public void afterSingletonsInstantiated() { 83 | services = new HashSet<>(); 84 | ModuleModel moduleModel = DubboBeanUtils.getModuleModel(applicationContext); 85 | ModuleConfigManager configManager = moduleModel.getConfigManager(); 86 | services = configManager.getServices(); 87 | 88 | for (ServiceConfigBase bean : services) { 89 | interfaceMapRef.putIfAbsent(bean.getInterfaceClass(), bean.getRef()); 90 | } 91 | if (!services.isEmpty()) { 92 | ServiceBean bean = services.toArray(new ServiceBean[]{})[0]; 93 | application = bean.getApplication(); 94 | } 95 | } 96 | 97 | private transient ApplicationContext applicationContext; 98 | 99 | @Override 100 | public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 101 | this.applicationContext = applicationContext; 102 | 103 | } 104 | 105 | 106 | } 107 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/config/SwaggerDocCache.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.config; 2 | 3 | import io.swagger.models.Swagger; 4 | import org.springframework.stereotype.Component; 5 | 6 | @Component 7 | public class SwaggerDocCache { 8 | 9 | private Swagger swagger; 10 | 11 | public Swagger getSwagger() { 12 | return swagger; 13 | } 14 | 15 | public void setSwagger(Swagger swagger) { 16 | this.swagger = swagger; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/http/HttpMatch.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.http; 2 | 3 | import com.deepoove.swagger.dubbo.reader.NameDiscover; 4 | import io.swagger.annotations.ApiOperation; 5 | import io.swagger.models.HttpMethod; 6 | import io.swagger.util.ReflectionUtils; 7 | import org.apache.commons.lang3.StringUtils; 8 | import org.slf4j.Logger; 9 | import org.slf4j.LoggerFactory; 10 | 11 | import java.lang.reflect.Method; 12 | import java.util.*; 13 | 14 | public class HttpMatch { 15 | 16 | private static Logger logger = LoggerFactory.getLogger(HttpMatch.class); 17 | 18 | private Class interfaceClass; 19 | private Class refClass; 20 | 21 | public HttpMatch(Class interfaceClass, Class refClass) { 22 | this.interfaceClass = interfaceClass; 23 | this.refClass = refClass; 24 | } 25 | 26 | public Method[] findInterfaceMethods(String methodName) { 27 | Method[] methods = interfaceClass.getMethods(); 28 | List ret = new ArrayList(); 29 | for (Method method : methods) { 30 | if (method.getName().equals(methodName)) ret.add(method); 31 | } 32 | return ret.toArray(new Method[]{}); 33 | } 34 | 35 | public Method[] findRefMethods(Method[] interfaceMethods, String operationId, 36 | String requestMethod) { 37 | List ret = new ArrayList(); 38 | for (Method method : interfaceMethods) { 39 | Method m; 40 | try { 41 | m = refClass.getMethod(method.getName(), method.getParameterTypes()); 42 | final ApiOperation apiOperation = ReflectionUtils.getAnnotation(m, 43 | ApiOperation.class); 44 | String nickname = null == apiOperation ? null : apiOperation.nickname(); 45 | if (operationId != null) { 46 | if (!operationId.equals(nickname)) continue; 47 | } else { 48 | if (StringUtils.isNotBlank(nickname)) continue; 49 | } 50 | if (requestMethod != null) { 51 | String httpMethod = null == apiOperation ? null : apiOperation.httpMethod(); 52 | if (StringUtils.isNotBlank(httpMethod) && !requestMethod.equals(httpMethod)) 53 | continue; 54 | if (StringUtils.isBlank(httpMethod) 55 | && !requestMethod.equalsIgnoreCase(HttpMethod.POST.name())) 56 | continue; 57 | } 58 | ret.add(m); 59 | } catch (NoSuchMethodException e) { 60 | logger.error("NoSuchMethodException", e); 61 | } catch (SecurityException e) { 62 | logger.error("SecurityException", e); 63 | } 64 | } 65 | return ret.toArray(new Method[]{}); 66 | } 67 | 68 | public Method matchRefMethod(Method[] refMethods, String methodName, Set keySet) { 69 | if (refMethods.length == 0) { 70 | return null; 71 | } 72 | if (refMethods.length == 1) { 73 | return refMethods[0]; 74 | } 75 | 76 | List rateMethods = new ArrayList(); 77 | for (Method method : refMethods) { 78 | String[] parameterNames = NameDiscover.parameterNameDiscover 79 | .getParameterNames(method); 80 | if (parameterNames == null) return method; 81 | float correctRate = 0.0f; 82 | int hit = 0; 83 | int error = 0; 84 | for (String paramName : parameterNames) { 85 | if (keySet.contains(paramName)) hit++; 86 | else error++; 87 | } 88 | correctRate = error / (float) hit; 89 | 90 | rateMethods.add(new RateMethod(method, (int) correctRate * 100)); 91 | 92 | } 93 | 94 | if (rateMethods.isEmpty()) return null; 95 | Collections.sort(rateMethods, new Comparator() { 96 | @Override 97 | public int compare(RateMethod o1, RateMethod o2) { 98 | return o2.getRate() - o1.getRate(); 99 | } 100 | }); 101 | 102 | return rateMethods.get(0).getMethod(); 103 | } 104 | 105 | class RateMethod { 106 | private Method method; 107 | private int rate; 108 | 109 | public RateMethod(Method method, int rate) { 110 | this.method = method; 111 | this.rate = rate; 112 | } 113 | 114 | public Method getMethod() { 115 | return method; 116 | } 117 | 118 | public void setMethod(Method method) { 119 | this.method = method; 120 | } 121 | 122 | public int getRate() { 123 | return rate; 124 | } 125 | 126 | public void setRate(int rate) { 127 | this.rate = rate; 128 | } 129 | 130 | } 131 | 132 | } 133 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/reader/NameDiscover.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.reader; 2 | 3 | import org.springframework.core.LocalVariableTableParameterNameDiscoverer; 4 | import org.springframework.core.ParameterNameDiscoverer; 5 | import org.springframework.core.PrioritizedParameterNameDiscoverer; 6 | import org.springframework.core.StandardReflectionParameterNameDiscoverer; 7 | 8 | public final class NameDiscover { 9 | 10 | public static final ParameterNameDiscoverer parameterNameDiscover; 11 | 12 | static { 13 | parameterNameDiscover = new PrioritizedParameterNameDiscoverer(); 14 | ((PrioritizedParameterNameDiscoverer) parameterNameDiscover).addDiscoverer(new LocalVariableTableParameterNameDiscoverer()); 15 | ((PrioritizedParameterNameDiscoverer) parameterNameDiscover).addDiscoverer(new StandardReflectionParameterNameDiscoverer()); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/reader/ReaderContext.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.reader; 2 | 3 | import io.swagger.models.Swagger; 4 | import io.swagger.models.parameters.Parameter; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * The ReaderContext class is wrapper for the Reader 10 | * parameters. 11 | */ 12 | public class ReaderContext { 13 | 14 | private Swagger swagger; 15 | private Class refCls; 16 | private Class interfaceCls; 17 | private String parentPath; 18 | private String parentHttpMethod; 19 | private boolean readHidden; 20 | private List parentConsumes; 21 | private List parentProduces; 22 | private List parentTags; 23 | private List parentParameters; 24 | 25 | public ReaderContext(Swagger swagger, Class refCls, Class interfaceCls, String parentPath, 26 | String parentHttpMethod, boolean readHidden, List parentConsumes, 27 | List parentProduces, List parentTags, 28 | List parentParameters) { 29 | setSwagger(swagger); 30 | setRefCls(refCls); 31 | setInterfaceCls(interfaceCls); 32 | setParentPath(parentPath); 33 | setParentHttpMethod(parentHttpMethod); 34 | setReadHidden(readHidden); 35 | setParentConsumes(parentConsumes); 36 | setParentProduces(parentProduces); 37 | setParentTags(parentTags); 38 | setParentParameters(parentParameters); 39 | } 40 | 41 | public Swagger getSwagger() { 42 | return swagger; 43 | } 44 | 45 | public void setSwagger(Swagger swagger) { 46 | this.swagger = swagger; 47 | } 48 | 49 | public Class getRefCls() { 50 | return refCls; 51 | } 52 | 53 | public void setRefCls(Class cls) { 54 | this.refCls = cls; 55 | } 56 | 57 | public Class getInterfaceCls() { 58 | return interfaceCls; 59 | } 60 | 61 | public Class getCls() { 62 | return refCls; 63 | } 64 | 65 | public void setInterfaceCls(Class interfaceCls) { 66 | this.interfaceCls = interfaceCls; 67 | } 68 | 69 | public String getParentPath() { 70 | return parentPath; 71 | } 72 | 73 | public void setParentPath(String parentPath) { 74 | this.parentPath = parentPath; 75 | } 76 | 77 | public String getParentHttpMethod() { 78 | return parentHttpMethod; 79 | } 80 | 81 | public void setParentHttpMethod(String parentHttpMethod) { 82 | this.parentHttpMethod = parentHttpMethod; 83 | } 84 | 85 | public boolean isReadHidden() { 86 | return readHidden; 87 | } 88 | 89 | public void setReadHidden(boolean readHidden) { 90 | this.readHidden = readHidden; 91 | } 92 | 93 | public List getParentConsumes() { 94 | return parentConsumes; 95 | } 96 | 97 | public void setParentConsumes(List parentConsumes) { 98 | this.parentConsumes = parentConsumes; 99 | } 100 | 101 | public List getParentProduces() { 102 | return parentProduces; 103 | } 104 | 105 | public void setParentProduces(List parentProduces) { 106 | this.parentProduces = parentProduces; 107 | } 108 | 109 | public List getParentTags() { 110 | return parentTags; 111 | } 112 | 113 | public void setParentTags(List parentTags) { 114 | this.parentTags = parentTags; 115 | } 116 | 117 | public List getParentParameters() { 118 | return parentParameters; 119 | } 120 | 121 | public void setParentParameters(List parentParameters) { 122 | this.parentParameters = parentParameters; 123 | } 124 | 125 | 126 | } 127 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/reader/ReaderExtension.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.reader; 2 | 3 | import io.swagger.models.Operation; 4 | 5 | import java.lang.annotation.Annotation; 6 | import java.lang.reflect.Method; 7 | import java.lang.reflect.Type; 8 | 9 | /** 10 | * The ReaderExtension interface defines methods for scans resources for Swagger. 11 | */ 12 | public interface ReaderExtension { 13 | 14 | /** 15 | * Returns this extension's priority. 16 | * Note: Extension will be executed first with lowest priority. 17 | * 18 | * @return this extension's priority 19 | */ 20 | int getPriority(); 21 | 22 | /** 23 | * Checks that a resource should be scanned. 24 | * 25 | * @param context is the resource context 26 | * @return true if the resource needs to be scanned, otherwise false 27 | */ 28 | boolean isReadable(ReaderContext context); 29 | 30 | /** 31 | * Reads the consumes from the method's annotations and applies these to the operation. 32 | * 33 | * @param context is the resource context 34 | * @param operation is the container for the operation data 35 | * @param method is the method for reading annotations 36 | */ 37 | void applyConsumes(ReaderContext context, Operation operation, Method method); 38 | 39 | /** 40 | * Reads the produces from the method's annotations and applies these to the operation. 41 | * 42 | * @param context is the resource context 43 | * @param operation is the container for the operation data 44 | * @param method is the method for reading annotations 45 | */ 46 | void applyProduces(ReaderContext context, Operation operation, Method method); 47 | 48 | /** 49 | * Returns http method. 50 | * 51 | * @param context is the resource context 52 | * @param method is the method for reading annotations 53 | * @return http method 54 | */ 55 | String getHttpMethod(ReaderContext context, Method method); 56 | 57 | /** 58 | * Returns operation's path. 59 | * 60 | * @param context is the resource context 61 | * @param method is the method for reading annotations 62 | * @return operation's path 63 | */ 64 | String getPath(ReaderContext context, Method method); 65 | 66 | /** 67 | * Reads the operation id from the method's annotations and applies it to the operation. 68 | * 69 | * @param operation is the container for the operation data 70 | * @param method is the method for reading annotations 71 | */ 72 | void applyOperationId(Operation operation, Method method); 73 | 74 | /** 75 | * Reads the summary from the method's annotations and applies it to the operation. 76 | * 77 | * @param operation is the container for the operation data 78 | * @param method is the method for reading annotations 79 | */ 80 | void applySummary(Operation operation, Method method); 81 | 82 | /** 83 | * Reads the description from the method's annotations and applies it to the operation. 84 | * 85 | * @param operation is the container for the operation data 86 | * @param method is the method for reading annotations 87 | */ 88 | void applyDescription(Operation operation, Method method); 89 | 90 | /** 91 | * Reads the schemes from the method's annotations and applies these to the operation. 92 | * 93 | * @param context is the resource context 94 | * @param operation is the container for the operation data 95 | * @param method is the method for reading annotations 96 | */ 97 | void applySchemes(ReaderContext context, Operation operation, Method method); 98 | 99 | /** 100 | * Sets the deprecated flag to the operation. 101 | * 102 | * @param operation is the container for the operation data 103 | * @param method is the method for reading annotations 104 | */ 105 | void setDeprecated(Operation operation, Method method); 106 | 107 | /** 108 | * Reads the security requirement from the method's annotations and applies these to the operation. 109 | * 110 | * @param context is the resource context 111 | * @param operation is the container for the operation data 112 | * @param method is the method for reading annotations 113 | */ 114 | void applySecurityRequirements(ReaderContext context, Operation operation, Method method); 115 | 116 | /** 117 | * Reads the tags from the method's annotations and applies these to the operation. 118 | * 119 | * @param context is the resource context 120 | * @param operation is the container for the operation data 121 | * @param method is the method for reading annotations 122 | */ 123 | void applyTags(ReaderContext context, Operation operation, Method method); 124 | 125 | /** 126 | * Reads the responses from the method's annotations and applies these to the operation. 127 | * 128 | * @param context is the resource context 129 | * @param operation is the container for the operation data 130 | * @param method is the method for reading annotations 131 | */ 132 | void applyResponses(ReaderContext context, Operation operation, Method method); 133 | 134 | /** 135 | * Reads the parameters from the method's annotations and applies these to the operation. 136 | * 137 | * @param context is the resource context 138 | * @param operation is the container for the operation data 139 | * @param type is the type of parameter 140 | * @param annotations are the method's annotations 141 | */ 142 | void applyParameters(ReaderContext context, Operation operation, Type type, Annotation[] annotations); 143 | 144 | /** 145 | * Reads the implicit parameters from the method's annotations and applies these to the operation. 146 | * 147 | * @param context is the resource context 148 | * @param operation is the container for the operation data 149 | * @param method is the method for reading annotations 150 | */ 151 | void applyImplicitParameters(ReaderContext context, Operation operation, Method method); 152 | 153 | /** 154 | * Reads the extensions from the method's annotations and applies these to the operation. 155 | * 156 | * @param context is the resource context 157 | * @param operation is the container for the operation data 158 | * @param method is the method for reading annotations 159 | */ 160 | void applyExtensions(ReaderContext context, Operation operation, Method method); 161 | 162 | void applyParameters(ReaderContext context, Operation operation, Method method, 163 | Method interfaceMethod); 164 | 165 | } 166 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/com/deepoove/swagger/dubbo/web/SwaggerDubboController.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.web; 2 | 3 | import com.deepoove.swagger.dubbo.config.DubboPropertyConfig; 4 | import com.deepoove.swagger.dubbo.config.DubboServiceScanner; 5 | import com.deepoove.swagger.dubbo.config.SwaggerDocCache; 6 | import com.deepoove.swagger.dubbo.reader.Reader; 7 | import com.fasterxml.jackson.core.JsonProcessingException; 8 | import io.swagger.annotations.Api; 9 | import io.swagger.config.SwaggerConfig; 10 | import io.swagger.models.Swagger; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.beans.factory.annotation.Value; 13 | import org.springframework.http.HttpStatus; 14 | import org.springframework.http.ResponseEntity; 15 | import org.springframework.stereotype.Controller; 16 | import org.springframework.web.bind.annotation.RequestMapping; 17 | import org.springframework.web.bind.annotation.RequestMethod; 18 | import org.springframework.web.bind.annotation.ResponseBody; 19 | import springfox.documentation.spring.web.json.Json; 20 | 21 | import java.util.Map; 22 | 23 | @Controller 24 | @RequestMapping("${swagger.dubbo.doc:swagger-dubbo}") 25 | @Api(hidden = true) 26 | public class SwaggerDubboController { 27 | 28 | public static final String DEFAULT_URL = "/api-docs"; 29 | private static final String HAL_MEDIA_TYPE = "application/hal+json"; 30 | 31 | @Autowired 32 | private DubboServiceScanner dubboServiceScanner; 33 | @Autowired 34 | private DubboPropertyConfig dubboPropertyConfig; 35 | @Autowired 36 | private SwaggerDocCache swaggerDocCache; 37 | 38 | @Value("${swagger.dubbo.http:h}") 39 | private String httpContext; 40 | @Value("${swagger.dubbo.enable:true}") 41 | private boolean enable = true; 42 | 43 | @RequestMapping(value = DEFAULT_URL, 44 | method = RequestMethod.GET, 45 | produces = {"application/json; charset=utf-8", HAL_MEDIA_TYPE}) 46 | @ResponseBody 47 | public ResponseEntity getApiList() throws JsonProcessingException { 48 | 49 | if (!enable) { 50 | return new ResponseEntity(HttpStatus.NOT_FOUND); 51 | } 52 | 53 | Swagger swagger = swaggerDocCache.getSwagger(); 54 | if (null != swagger) { 55 | return new ResponseEntity(new Json(io.swagger.util.Json.mapper().writeValueAsString(swagger)), HttpStatus.OK); 56 | } else { 57 | swagger = new Swagger(); 58 | } 59 | 60 | final SwaggerConfig configurator = dubboPropertyConfig; 61 | if (configurator != null) { 62 | configurator.configure(swagger); 63 | } 64 | 65 | Map, Object> interfaceMapRef = dubboServiceScanner.interfaceMapRef(); 66 | if (null != interfaceMapRef) { 67 | Reader.read(swagger, interfaceMapRef, httpContext); 68 | } 69 | swaggerDocCache.setSwagger(swagger); 70 | return new ResponseEntity(new Json(io.swagger.util.Json.mapper().writeValueAsString(swagger)), HttpStatus.OK); 71 | } 72 | 73 | } 74 | -------------------------------------------------------------------------------- /swagger-dubbo/src/main/java/springfox/documentation/spring/web/json/Json.java: -------------------------------------------------------------------------------- 1 | package springfox.documentation.spring.web.json; 2 | 3 | import com.fasterxml.jackson.annotation.JsonRawValue; 4 | import com.fasterxml.jackson.annotation.JsonValue; 5 | 6 | public class Json { 7 | private final String value; 8 | 9 | public Json(String value) { 10 | this.value = value; 11 | } 12 | 13 | @JsonValue 14 | @JsonRawValue 15 | public String value() { 16 | return value; 17 | } 18 | 19 | public String getValue() { 20 | return value; 21 | } 22 | 23 | 24 | } -------------------------------------------------------------------------------- /swagger-dubbo/src/test/java/com/deepoove/swagger/dubbo/api/InterfaceServiceImplTest.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.api; 2 | 3 | import java.util.List; 4 | 5 | public class InterfaceServiceImplTest implements InterfaceServiceTest { 6 | 7 | 8 | @Override 9 | public String login(String name) { 10 | return null; 11 | } 12 | 13 | @Override 14 | public String login(String name, String password) { 15 | return null; 16 | } 17 | 18 | @Override 19 | public String get(String id) { 20 | return null; 21 | } 22 | 23 | @Override 24 | public String get(String name, String phone) { 25 | return null; 26 | } 27 | 28 | @Override 29 | public List test(String para, String code) { 30 | // TODO Auto-generated method stub 31 | return null; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /swagger-dubbo/src/test/java/com/deepoove/swagger/dubbo/api/InterfaceServiceTest.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.api; 2 | 3 | import io.swagger.annotations.ApiOperation; 4 | import io.swagger.annotations.ApiParam; 5 | 6 | import java.util.List; 7 | 8 | public interface InterfaceServiceTest { 9 | 10 | @ApiOperation(value = "查询用户", notes = "通过城市地区code取用户信息", response = String.class, responseContainer = "List") 11 | List test(@ApiParam(value = "参数", required = true) String para, String code); 12 | 13 | String login(String name); 14 | 15 | @ApiOperation(nickname = "bypwd", value = "") 16 | String login(String name, String password); 17 | 18 | String get(String id); 19 | 20 | String get(String name, String phone); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /swagger-dubbo/src/test/java/com/deepoove/swagger/dubbo/http/HttpMatchTest.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.http; 2 | 3 | import com.deepoove.swagger.dubbo.api.InterfaceServiceImplTest; 4 | import com.deepoove.swagger.dubbo.api.InterfaceServiceTest; 5 | import org.junit.Assert; 6 | import org.junit.Test; 7 | 8 | import java.lang.reflect.Method; 9 | import java.util.HashSet; 10 | import java.util.Set; 11 | 12 | 13 | public class HttpMatchTest { 14 | 15 | HttpMatch httpMatch = new HttpMatch(InterfaceServiceTest.class, InterfaceServiceImplTest.class); 16 | 17 | @Test 18 | public void testFindInterfaceMethods() { 19 | Method[] findInterfaceMethods = httpMatch.findInterfaceMethods("login"); 20 | Assert.assertEquals(findInterfaceMethods.length, 2); 21 | 22 | findInterfaceMethods = httpMatch.findInterfaceMethods("get"); 23 | Assert.assertEquals(findInterfaceMethods.length, 2); 24 | 25 | findInterfaceMethods = httpMatch.findInterfaceMethods("test"); 26 | Assert.assertEquals(findInterfaceMethods.length, 1); 27 | 28 | } 29 | 30 | @Test 31 | public void testFindRefMethods() throws NoSuchMethodException, SecurityException { 32 | Method[] findInterfaceMethods = httpMatch.findInterfaceMethods("login"); 33 | Assert.assertEquals(findInterfaceMethods.length, 2); 34 | 35 | Method[] findRefMethods = httpMatch.findRefMethods(findInterfaceMethods, null, "POST"); 36 | Assert.assertEquals(findRefMethods.length, 1); 37 | Assert.assertEquals(findRefMethods[0], InterfaceServiceImplTest.class.getDeclaredMethod("login", String.class)); 38 | 39 | findRefMethods = httpMatch.findRefMethods(findInterfaceMethods, "bypwd", "POST"); 40 | Assert.assertEquals(findRefMethods.length, 1); 41 | Assert.assertEquals(findRefMethods[0], InterfaceServiceImplTest.class.getDeclaredMethod("login", String.class, String.class)); 42 | 43 | findRefMethods = httpMatch.findRefMethods(findInterfaceMethods, "other", "POST"); 44 | Assert.assertEquals(findRefMethods.length, 0); 45 | 46 | findRefMethods = httpMatch.findRefMethods(findInterfaceMethods, null, "GET"); 47 | Assert.assertEquals(findRefMethods.length, 0); 48 | 49 | findInterfaceMethods = httpMatch.findInterfaceMethods("get"); 50 | Assert.assertEquals(findInterfaceMethods.length, 2); 51 | findRefMethods = httpMatch.findRefMethods(findInterfaceMethods, null, "POST"); 52 | Assert.assertEquals(findRefMethods.length, 2); 53 | } 54 | 55 | @Test 56 | public void testMatchRefMethods() throws NoSuchMethodException, SecurityException { 57 | Method[] findInterfaceMethods = httpMatch.findInterfaceMethods("get"); 58 | Method[] findRefMethods = httpMatch.findRefMethods(findInterfaceMethods, null, "POST"); 59 | Set params = new HashSet(); 60 | params.add("name"); 61 | params.add("phone"); 62 | Method matchRefMethod = httpMatch.matchRefMethod(findRefMethods, "get", params); 63 | Assert.assertEquals(matchRefMethod, InterfaceServiceImplTest.class.getDeclaredMethod("get", String.class, String.class)); 64 | 65 | params = new HashSet(); 66 | params.add("id"); 67 | matchRefMethod = httpMatch.matchRefMethod(findRefMethods, "get", params); 68 | Assert.assertEquals(matchRefMethod, InterfaceServiceImplTest.class.getDeclaredMethod("get", String.class)); 69 | } 70 | 71 | 72 | } 73 | -------------------------------------------------------------------------------- /swagger-dubbo/src/test/java/com/deepoove/swagger/dubbo/json/FastJsonHttpMessageConverterTest.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.json; 2 | 3 | import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; 4 | import org.junit.Assert; 5 | import org.junit.Test; 6 | import org.springframework.http.HttpHeaders; 7 | import org.springframework.http.HttpOutputMessage; 8 | import org.springframework.http.MediaType; 9 | import org.springframework.http.converter.HttpMessageNotWritableException; 10 | import org.springframework.mock.http.MockHttpOutputMessage; 11 | import springfox.documentation.spring.web.json.Json; 12 | 13 | import java.io.IOException; 14 | 15 | public class FastJsonHttpMessageConverterTest { 16 | 17 | @Test 18 | public void testSwagger() throws HttpMessageNotWritableException, IOException { 19 | Json value = new Json("{\"swagger\":\"2.0\""); 20 | HttpOutputMessage outMessage = new MockHttpOutputMessage() { 21 | 22 | @Override 23 | public HttpHeaders getHeaders() { 24 | HttpHeaders httpHeaders = new HttpHeaders(); 25 | httpHeaders.setContentType(MediaType.APPLICATION_JSON); 26 | return httpHeaders; 27 | } 28 | }; 29 | new FastJsonHttpMessageConverter().write(value, null, outMessage); 30 | Assert.assertTrue((outMessage.getBody().toString().startsWith("{\"swagger\":\"2.0\""))); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /swagger-dubbo/src/test/java/com/deepoove/swagger/dubbo/reader/NameDiscoverTest.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.reader; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Test; 5 | 6 | import com.deepoove.swagger.dubbo.api.InterfaceServiceImplTest; 7 | 8 | public class NameDiscoverTest { 9 | 10 | @Test 11 | public void testGetParamName() throws NoSuchMethodException, SecurityException{ 12 | String[] parameterNames = NameDiscover.parameterNameDiscover.getParameterNames(InterfaceServiceImplTest.class.getDeclaredMethod("login", String.class, String.class)); 13 | Assert.assertArrayEquals(parameterNames, new String[]{"name", "password"}); 14 | } 15 | 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /swagger-dubbo/src/test/java/com/deepoove/swagger/dubbo/reader/ReaderTest.java: -------------------------------------------------------------------------------- 1 | package com.deepoove.swagger.dubbo.reader; 2 | 3 | import com.deepoove.swagger.dubbo.api.InterfaceServiceImplTest; 4 | import com.deepoove.swagger.dubbo.api.InterfaceServiceTest; 5 | import io.swagger.models.HttpMethod; 6 | import io.swagger.models.Operation; 7 | import io.swagger.models.Path; 8 | import io.swagger.models.Swagger; 9 | import io.swagger.models.parameters.Parameter; 10 | import org.junit.Assert; 11 | import org.junit.Test; 12 | 13 | import java.util.HashMap; 14 | import java.util.List; 15 | import java.util.Map; 16 | 17 | public class ReaderTest { 18 | 19 | 20 | @SuppressWarnings({"serial"}) 21 | @Test 22 | public void testApplyParameters() { 23 | Swagger swagger = new Swagger(); 24 | Reader.read(swagger, new HashMap, Object>() {{ 25 | put(InterfaceServiceTest.class, new InterfaceServiceImplTest()); 26 | }}, "/h"); 27 | 28 | // System.out.println(Json.pretty(swagger)); 29 | Map paths = swagger.getPaths(); 30 | Assert.assertEquals(paths.size(), 4); 31 | 32 | Path path = swagger.getPaths().get("/h/com.deepoove.swagger.dubbo.api.InterfaceServiceTest/test"); 33 | Assert.assertNotNull(path); 34 | Operation operation = path.getOperationMap().get(HttpMethod.POST); 35 | Assert.assertNotNull(operation); 36 | Assert.assertNotNull(operation.getParameters()); 37 | Assert.assertEquals(operation.getSummary(), "查询用户"); 38 | 39 | List parameters = operation.getParameters(); 40 | Assert.assertEquals(parameters.get(0).getName(), "para"); 41 | Assert.assertEquals(parameters.get(1).getName(), "code"); 42 | 43 | Assert.assertTrue(parameters.get(0).getRequired()); 44 | Assert.assertEquals(parameters.get(0).getDescription(), "参数"); 45 | 46 | 47 | path = swagger.getPaths().get("/h/com.deepoove.swagger.dubbo.api.InterfaceServiceTest/login/bypwd"); 48 | Assert.assertNotNull(path); 49 | path = swagger.getPaths().get("/h/com.deepoove.swagger.dubbo.api.InterfaceServiceTest/login"); 50 | Assert.assertNotNull(path); 51 | 52 | } 53 | 54 | } 55 | --------------------------------------------------------------------------------