├── README_EN.md ├── previews ├── home.png ├── icon.png ├── .DS_Store ├── jax_rs.png ├── asciidoc.png ├── markdown.png ├── overloads.png ├── structs.png ├── spring_boot.png ├── UI_Explanation.png ├── java_interface.png └── search_highlight.png ├── privacy-policy.md ├── SupportedFramework.md ├── RELEASE_NOTE.md ├── terms_of_service.md ├── UserGuide_EN.md └── README.md /README_EN.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /previews/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/home.png -------------------------------------------------------------------------------- /previews/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/icon.png -------------------------------------------------------------------------------- /previews/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/.DS_Store -------------------------------------------------------------------------------- /previews/jax_rs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/jax_rs.png -------------------------------------------------------------------------------- /previews/asciidoc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/asciidoc.png -------------------------------------------------------------------------------- /previews/markdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/markdown.png -------------------------------------------------------------------------------- /previews/overloads.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/overloads.png -------------------------------------------------------------------------------- /previews/structs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/structs.png -------------------------------------------------------------------------------- /previews/spring_boot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/spring_boot.png -------------------------------------------------------------------------------- /previews/UI_Explanation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/UI_Explanation.png -------------------------------------------------------------------------------- /previews/java_interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/java_interface.png -------------------------------------------------------------------------------- /previews/search_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RabiAPI/RabiAPI-Support/HEAD/previews/search_highlight.png -------------------------------------------------------------------------------- /privacy-policy.md: -------------------------------------------------------------------------------- 1 | # RabiAPI Privacy Policy 2 | 3 | Effective Date: August 23, 2020 4 | 5 | No data or personal information will be collected by RabiAPI. 6 | 7 | ## Contact 8 | 9 | If you have any questions or suggestions regarding this privacy policy, do not hesitate to contact me. 10 | 11 | Email: rabiapisupp0rt@gmail.com 12 | -------------------------------------------------------------------------------- /SupportedFramework.md: -------------------------------------------------------------------------------- 1 | # 已支持的框架和注解 2 | 3 | ## Spring Boot 4 | 5 | ### @RestController 6 | 7 | 使用该注解的class会作为Spring的HTTP接口进行解析。 8 | 9 | ### @RequestMapping 10 | 11 | 所有Mapping相关的注解,参数和请求头匹配(params, headers属性)尚未支持。 12 | 13 | - @RequestMapping 14 | - @GetMapping 15 | - @PostMapping 16 | - @PutMapping 17 | - @DeleteMapping 18 | - @PatchMapping 19 | 20 | ### @RequestParam 21 | 22 | 所有请求参数相关注解,下列是已支持的 23 | 24 | - @RequestParam,在GET请求中会作为Query参数,在其它请求中会为作Form参数。 25 | - @RequestBody,作为Body参数,Content-Type一般为application/json 26 | - @RequestPart,作为Form参数,Content-Type为multipart/form-data 27 | - @RequestHeader,作为Header参数 28 | - @PathVariable,作为Path参数 29 | - @CookieValue,作为Cookie参数 30 | 31 | ### @Validated 32 | 33 | 和校验注解一起使用,用于分组校验功能。 34 | 35 | ## JAX-RS 36 | 37 | ### @Path 38 | 39 | ## Swagger 40 | 41 | Swagger 2.0 旧版注解支持,最新版本为1.6.2。目前鉴权相关的注解暂不支持。 42 | 43 | ### @Api 44 | 45 | 存在该注解的class或interface会作为Swagger格式的HTTP接口进行解析。 46 | 47 | ### @ApiOperation 48 | 49 | ### @ApiImplicitParams & @ApiImplicitParam 50 | 51 | 请求参数没有写在方法定义上的时候,可以使用这两个注解标注请求参数,例如通过`HttpServletRequest`直接在方法体内部获取请求参数。 52 | 53 | ### @ApiResponses & @ApiResponse 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /RELEASE_NOTE.md: -------------------------------------------------------------------------------- 1 | ### 1.2.5 2 | 3 | 1. 增加对于Spring框架 @Controller 注解的支持 4 | 2. 增加对于 @JsonIgnore 和 @JsonIgnoreProperties 注解的支持 5 | 3. Spring Controller允许继承其它Controller 6 | 4. 增加对于Swagger 2.0 @ApiModel 和 @ApiModelProperty 注解的支持 7 | 8 | ### 1.2.4 9 | 10 | 1. JAR-RS框架,新增对于@Consumes, @Produces, @DefaultValue注解的支持 11 | 2. 修复多个导致项目导入失败的BUG 12 | 3. Spring增加对于@FeignClient接口的支持(Controller写法) 13 | 14 | ### 1.2.3 15 | 16 | 1. 增加对于 Spring Boot 中的 @ModelAttribute 注解支持,@ModelAttribute 会被处理为 FORM 类型参数 17 | 2. 修复部分Git项目无法使用分支的问题 18 | 3. 修复继承类型是泛型并且使用递归时的死循环问题 19 | 4. 修复继承类型为泛型时解析错误的问题 20 | 21 | ### V1.2.0 22 | 23 | 【接口批量导出和筛选】 24 | 25 | 1. 右上角新增『导出文档』按钮,支持批量导出所有接口文档 26 | 2. 支持导出为Markdown, Asciidoc, Swagger, OpenAPI 四种格式 27 | 3. 支持筛选期望导出的模块和服务 28 | 4. 支持导出参数约束条件 29 | 30 | Swagger、OpenAPI格式仅支持HTTP类型的接口,Java Interface类型暂不支持。 31 | 32 | Markdown、Asciidoc格式支持所有类型的接口。 33 | 34 | Swagger、OpenAPI格式的导出对于框架类型没有限制,旧版Swagger注解同样可以导出到新版OpenAPI格式,新版OpenAPI注解也可以降级到旧版Swagger格式,这中间可能会做一些兼容性处理,详见Github中的说明。 35 | 36 | 37 | 【新增注解支持】 38 | 39 | 1. 增加对于Swagger 2.0注解的支持 40 | 2. 增加对于OpenAPI 3.0注解的支持 41 | 42 | 使用了Swagger 2.0旧版注解(如@ApiOperation)或者OpenAPI 3.0新版注解(如@Operation)的项目现在都可以正常生成文档。 43 | 44 | 支持了大部分如请求信息,参数,响应相关的常用注解,具体支持列表见Github。 45 | 46 | 允许Swagger注解与其它框架混用,例如同一个项目的部分接口使用Swagger注解标注,其它接口使用Spring和javadoc标注,同样可以正常展示,同样允许批量导出。 47 | 48 | RabiAPI到目前为止总共可以为五种写法生成接口文档 49 | 50 | 1. 直接以Java Interface作为接口的RPC服务,例如Apache Dubbo 51 | 2. 使用@RestController注解的Spring MVC服务 52 | 3. 使用@Path注解的Jax-RS服务 53 | 4. 使用@Api和@ApiOperation注解的旧版Swagger服务 54 | 5. 使用@Operation注解的新版OpenAPI服务 55 | 56 | 57 | 【文档解析功能优化】 58 | 59 | 1. 支持静态变量,静态变量会被替换为实际值,例如 BASE_PATH + "/pet" 60 | 2. 支持默认值展示,如果存在默认值,会展示在字段名称右侧 61 | 3. 支持展示Content-Type,默认为application/json 62 | 63 | 【JSR303校验支持优化】 64 | 65 | 1. JSR303注解校验展示为Json Schema格式, 如maxLength, minLength等 66 | 2. 支持部分Hibernate校验注解, @Length/@Range/@Size 67 | 68 | ### v1.1.6 69 | 70 | 功能优化 71 | 72 | 1. 支持通过Mac菜单栏添加项目 73 | 2. 修复部分项目生成时的空指针异常问题 74 | 3. 修复添加项目发生异常时,弹窗空白的问题 75 | -------------------------------------------------------------------------------- /terms_of_service.md: -------------------------------------------------------------------------------- 1 | # RabiAPI Terms And Conditions 2 | 3 | These Terms and Conditions ("Terms", "Terms and Conditions") govern your relationship with RabiAPI macOS application (the "Service"). 4 | 5 | Please read these Terms and Conditions carefully before using our RabiAPI macOS application (the "Service"). 6 | 7 | Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service. 8 | 9 | By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service. 10 | 11 | ## Subscription 12 | 13 | All parts of the Service are billed on a subscription basis ("Subscription(s)"). You will be billed in advance on a recurring and periodic basis ("Billing Cycle"). Billing cycles are set either on a monthly or annual basis, depending on the type of subscription plan you select when purchasing a Subscription. 14 | 15 | Your subscription will renew automatically, unless you cancel your subscription at least 24 hours prior to the end of the currently active subscription period. Your iTunes Account will be charged for the renewal within 24 hours prior to the end of the currently active subscription period, and your account history will reflect the cost of the renewal. 16 | 17 | You can manage your subscription and cancel automatic renewal by going to your "Manage my Subscriptions" page after purchase. 18 | 19 | ## Free Trial 20 | 21 | RabiAPI offer a Subscription with a free trial for a limited period of time ("Free Trial") in your first subscription period. 22 | 23 | You will not be charged until the Free Trial has expired. On the last day of the Free Trial period, unless you cancelled your Subscription, you will be automatically charged the applicable Subscription fees for the type of Subscription you have selected. 24 | 25 | ## Refunds 26 | 27 | Except when required by law, paid Subscription fees are non-refundable, if you feel the Service is not fit for you, please go to your "Manage my Subscriptions" page and cancel the subscription you selected. 28 | 29 | ## Contact Us 30 | 31 | If you have any questions about these Terms, please contact us. 32 | 33 | rabiapisupp0rt@gmail.com 34 | -------------------------------------------------------------------------------- /UserGuide_EN.md: -------------------------------------------------------------------------------- 1 | # RabiAPI User Guide 2 | 3 | ## Requirements 4 | 5 | - JRE Installed 6 | - Write *Javadoc* above your code, not *Comment* 7 | 8 | ### Javadoc 9 | 10 | ```java 11 | /** 12 | * this is javadoc format 13 | */ 14 | ``` 15 | 16 | ### Comment 17 | 18 | ```java 19 | // this is inline comment 20 | 21 | /* this is block comment */ 22 | ``` 23 | 24 | ## Attention 25 | 26 | RabiAPI using static analysis your source code, so **dependency** will not be processed yet. 27 | 28 | Class from jar dependency will not appear in RabiAPI. 29 | 30 | Manually dependency adding will coming in next few version. 31 | 32 | ## Supported Frameworks 33 | 34 | ### Java Interface Support (RPC Service) 35 | 36 | - All Java Primitive Types 37 | - Java Container Types, List/Set/Map/Array 38 | - Java Date Types 39 | - Generic & Inheritance Support 40 | - Recursive Support 41 | - Enumeration Support 42 | - Inner Class Support 43 | 44 | ### Spring Restful Controller Support 45 | 46 | - @RestController 47 | - @GetMapping @PostingMapping @PutMapping @DeleteMapping 48 | - @RequestMapping 49 | 50 | 51 | ### Jax-RS Annotation Support 52 | 53 | 54 | ## Add New Project 55 | 56 | We support java project build by Gradle or Maven, 57 | 58 | ## Add New Branch 59 | 60 | RabiAPI support git project and will list all local branches for you, click one to add, after complete, you can switch between different branches. 61 | 62 | **You still need to run `git pull` manually, because we promise offline using** 63 | 64 | ## Refresh Current Branch 65 | 66 | Before click refresh button, it's better to run `git pull` to check if has any update, or run `git status` to check if there is any uncommited codes. 67 | 68 | RabiAPI will show error message after run `git checkout` failed. 69 | 70 | ## Delete Project Or Branch 71 | 72 | Demo project cannot be deleted. 73 | 74 | Click the **dot** menu in project selector or branch selector then click **DELETE** button. 75 | 76 | ## Handle Project Deleted, Moved Or Renamed 77 | 78 | RabiAPI cannot read file path after you do such things, so just delete the current project then re-add it from new path. 79 | 80 | 81 | ## Multiple Module Support 82 | 83 | Module witch has no API will be ignored, click module selector under **Local Repository** to switch between modules. 84 | 85 | ## Services & Structs Support 86 | 87 | //TODO 88 | 89 | ## Copy JSON Template 90 | 91 | Click *Show JSON* button behind the parameters or response subtitle, 92 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |
![]()








