com.example.cityhall
├── CityHallApplication.java
├── config
│ └── ApprovalProperties.java
├── permit
│ ├── CreatePermitRequest.java
│ ├── PermitResponse.java
│ ├── PermitStatus.java
│ ├── PermitApplication.java
│ ├── PermitRepository.java
│ ├── PermitService.java
│ ├── PermitController.java
│ ├── PermitNotFoundException.java
│ └── DuplicatePermitException.java
└── shared
└── ApiExceptionHandler.java最重要的不是目录名字必须一模一样,而是边界要清楚。