- PrescriptionReviewAppServiceImpl 依赖 doctorstation DTO 变更 - OutpatientManageReportAppServiceImpl 依赖 encounterService 新方法 - 这些功能需要与 doctorstation 模块一起合并 暂时删除以保持编译通过,后续可单独评估合并
1.3 KiB
1.3 KiB
Web Layer - API Controllers
Module: openhis-application/web
Role: API endpoint layer - all REST controllers for frontend communication
OVERVIEW
46 web modules serving REST APIs for all business functionality.
STRUCTURE
web/
├── [module-name]/
│ ├── controller/ # REST endpoints (@RestController)
│ ├── dto/ # Data transfer objects
│ ├── mapper/ # MyBatis mappers (if module-specific)
│ └── appservice/ # Application service layer
│ └── impl/
WHERE TO LOOK
| Task | Location |
|---|---|
| API endpoints | */controller/*Controller.java |
| Request/Response schemas | */dto/*.java |
| Business logic orchestration | */appservice/*.java |
CONVENTIONS
- Controllers:
@RestController,@RequestMapping("/module-name") - Standard response:
AjaxResultfrom core-common - DTO naming:
XxxRequest,XxxResponse,XxxDTO - Service pattern: interface in
appservice/, impl inappservice/impl/ - API naming:
listXxx(),getXxx(),addXxx(),updateXxx(),deleteXxx()
ANTI-PATTERNS
- Never put business logic in controllers - delegate to appservice
- Never return raw entities - use DTOs
- Never bypass
AjaxResultwrapper - Never create module-specific mappers without justification