Spring Boot 통합 smart-doc 생 성 api 문서

5987 단어 apidoc
smart-doc 는 자바 restful api 문서 생 성 도구 입 니 다.smart-doc 는 전통 적 인 swagger 와 같은 대량의 주석 침입 으로 문 서 를 생 성 하 는 실현 방법 을 전복 시 켰 습 니 다.smart-doc 는 완전히 인터페이스 소스 분석 을 바탕 으로 인터페이스 문 서 를 만 들 고 0 주해 침입 을 할 수 있 습 니 다.자바 표준 주석 에 따라 쓰기 만 하면 smart-doc 는 간단명료 한 markdown 이나 GitBook 같은 정적 html 문 서 를 만 들 수 있 습 니 다.Spring Boot 프로젝트 에 smart-doc 를 통합 하여 간단명료 한 api 문 서 를 만 드 는 방법 을 소개 합 니 다.
메모:smart-doc 는 이미 중국 에서 수 록 된 것 으로 국내 많은 개발 자 들 이 자신의 프로젝트 에 사용 하여 인터페이스 문 서 를 신속하게 생 성하 기 시 작 했 습 니 다.
smart-doc 기능
4.567917.0 주해,0 학습 원가,표준 자바 주석 만 써 야 합 니 다
4.567917.소스 코드 인터페이스 정 의 를 바탕 으로 자동 으로 유도 하고 강력 한 반환 구조 유도
  • Spring MVC,Spring Boot,Spring Boot Web Flux(controller 쓰기 방식)를 지원 합 니 다
  • Callable,Future,Complete Future 등 비동기 인터페이스 가 되 돌아 오 는 추 도 를 지원 합 니 다
  • 자바 빈 의 JSR 303 매개 변수 검사 규범 을 지원 합 니 다
  • json 요청 매개 변수 에 대한 인 터 페 이 스 는 자동 으로 아 날로 그 json 매개 변 수 를 생 성 할 수 있 습 니 다

  • 4.567917.일부 상용 필드 에 대한 정 의 는 효과 적 인 시 뮬 레이 션 값 을 생 성 할 수 있 습 니 다
  • json 반환 값 예제 생 성 을 지원 합 니 다

  • 4.567917.프로젝트 외부 에서 소스 코드 를 불 러 와 필드 설명 을 만 드 는 것 을 지원 합 니 다(표준 규범 에 발 표 된 jar 패키지 포함)
  • 다양한 형식의 문서 생 성 지원:Markdown,HTML 5,Asciidotor.
  • Spring Boot 서비스 에서 온라인 으로 정적 HTML 5 api 문 서 를 쉽게 볼 수 있 습 니 다

  • 4.567917.문서 데 이 터 를 개방 하면 문서 관리 시스템 에 자 유 롭 게 접속 할 수 있 습 니 다.Spring Boot 프로젝트 에 Smart-doc 를 통합 하여 smart-doc 의존 도 를 추가 합 니 다.포장 후 smart-doc 를 최종 제품 가방 에 넣 을 필요 가 없 으 므 로 test 등급 만 사용 하 는 것 을 추천 합 니 다
    
        com.github.shalousun
        smart-doc
        1.7.0
        test
    

    새 대상:
    public class User {
    
        /**
         *    
         */
        private String userName;
    
        /**
         *   
         */
        private String nickName;
    
        /**
         *     
         */
        private String userAddress;
    
        /**
         *     
         */
        private int userAge;
    
        /**
         *    
         */
        private String phone;
    
        /**
         *     
         */
        private Long createTime;
    
        /**
         * ipv6
         */
        private String ipv6;
    
        /**
         *     
         */
        private String telephone;
        //  get set
    }

    다음은 UserController 를 새로 만 든 다음 에 User 를 Controller 의 요청 매개 변수 로 하고 실체 테스트 에 응답 하여 smart-doc 가 문서 생 성 을 어떻게 쉽게 완성 하 는 지 알 아 보 겠 습 니 다.
    @RestController
    @RequestMapping("/user")
    public class UserController {
    
        /**
         *     
         * @param user
         * @return
         */
        @PostMapping("/add")
        public User addUser(@RequestBody User user){
            return null;
        }
    }

    controller 를 추가 한 후,우 리 는 프로젝트 에 문 서 를 달 리 는 데 사용 할 단원 테스트 클래스 를 새로 만 들 었 습 니 다.
    public class ApiDocTest {
    
        /**
         *        ,                       
         */
        @Test
        public void testBuilderControllersApi() {
            ApiConfig config = new ApiConfig();
            config.setServerUrl("http://localhost:8080");
            //true       ,    true
            config.setStrict(true);
            //true           markdown
            //config.setAllInOne(true);
            //  html         controller   
            config.setMd5EncryptedHtmlName(true);
    
            //        
            //@since 1.7     ,      html doc        :DocGlobalConstants.HTML_DOC_OUT_PATH;
            config.setOutPath("d:\\md");
            // @since 1.2,        ,        controller,
            //          controller        
            config.setPackageFilters("com.power.doc.controller");
    
            long start = System.currentTimeMillis();
            //           
            ApiDocBuilder.builderControllersApi(config);
            long end = System.currentTimeMillis();
            DateTimeUtil.printRunTime(end, start);
        }
    }

    마지막 으로 유닛 테스트 smart-doc 를 실행 하면 markdown 인터페이스 문 서 를 지정 한 디 렉 터 리 로 생 성 할 수 있 습 니 다.
    문서 생 성 효과
    사용자 정보 조작 인터페이스
    사용자 추가
    URL: http://localhost:8080/user/add
    Type: POST
    Content-Type: application/json; charset=utf-8
    Request-parameters:
    Parameter
    Type
    Description
    Required
    Since
    userName
    string
    사용자 이름
    false
    -
    nickName
    string
    애칭
    false
    -
    userAddress
    string
    사용자 주소
    false
    -
    userAge
    int
    사용자 연령
    false
    -
    phone
    string
    핸드폰 번호
    false
    -
    createTime
    number
    생 성 시간
    false
    -
    ipv6
    string
    ipv6
    false
    -
    telephone
    string
    고정 전화
    false
    -
    Request-example:
    {
        "userName":"  . ",
        "nickName":"raymond.gutkowski",
        "userAddress":"Apt. 819   7699 ,   ,   852063",
        "userAge":41,
        "phone":"15018373016",
        "createTime":1569934393095,
        "ipv6":"9eb3:fada:ffd2:912e:6225:1062:a2d7:718f",
        "telephone":"15018373016"
    }

    Response-fields:
    Field
    Type
    Description
    Since
    userName
    string
    사용자 이름
    -
    nickName
    string
    애칭
    -
    userAddress
    string
    사용자 주소
    -
    userAge
    int
    사용자 연령
    -
    phone
    string
    핸드폰 번호
    -
    createTime
    number
    생 성 시간
    -
    ipv6
    string
    ipv6
    -
    telephone
    string
    고정 전화
    -
    Response-example:
    {
        "userName":"  . ",
        "nickName":"raymond.gutkowski",
        "userAddress":"Apt. 819   7699 ,   ,   852063",
        "userAge":41,
        "phone":"15018373016",
        "createTime":1569934393095,
        "ipv6":"9eb3:fada:ffd2:912e:6225:1062:a2d7:718f",
        "telephone":"15018373016"
    }

    swagger 보다 훨씬 간단 하고 코드 에 전혀 침입 하지 않 으 며 표준 자바 doc 주석 만 적 으 면 됩 니 다.더 많은 정 보 를 알 고 싶 으 시 면 스마트-doc 프로젝트 를 보 세 요.네,스타 를 기억 하 세 요.smart-doc 프로젝트 보기
    주의:본 고 는 smart-doc 원작 자 에서 왔 습 니 다.옮 길 수 있 지만 copy 를 오리지널 로 하지 마 십시오.

    좋은 웹페이지 즐겨찾기