- Depdency: Lombok, Spring Web, DevTools
- COntroller:
- Class level Annotation: @Controller + @ResponseBody, @RequestMapping
- Method level Annotation: @GetMapping -> URI Path
- API return different types: primitives, wrapper class, String, custom objects
- application.yml -> server.port
- JSON <-> CLass interchange design
- Global Exception Handler (@RestControllerAdvice)
- @ExceptionHandler + @ResponseStatus
- Data Transfer Object (DTO)
- Objectives: serve API Consumers (DTO = self-defined type)
- Data object for Receiving API Response (DTO = controlled by API provider)
- Mapper
- Self-defined mapper (GovMapper.class)
- Model Mapper (dependencies)
- Library (Infa)
- ApiResponse.class
- Syscode.class
- BcUtil.class (utility - static method)
- BusinessException (Exception Framework - RuntimeException & CheckException)
- RestTemplate (call external restful API)
- UriComponentBuilder (host(), path(), toUriString())
- @Value
- Read yml config