내가 관리하는 서비스엔 너무나도 많은 엔드포인트들이 존재한다. 업체 별로 버전을 만들거나 버전을 올리거나.. 하면서 우후죽순으로 생겨난 url들이다.....
그래서 처음엔 비슷한 이름으로 너무 여러 개 있어서 외부로 나가는 API 연동문서 없이는 일할 수 없었지..
이번에 어떤 프로젝트를 진행하면서 소스를 대대적으로 검토하고 있는데, 이런 쓰이는지 안쓰이는지도 모르는 엔드포인트를 정리할 필요성을 느꼈다. 그렇게 해서 알게된 것은 Spring boot의 어노테이션 @Deprecated
이것은 앞으로 사용하지 않는 소스라는 표시를 하는 것이다.
그렇다고 해서 호출 자체를 막는 것은 아니고 그냥 표시를 해두는 것으로 알고있다.
@Deprecated
@PostMapping("/v1/deprecated")
public @ResponseBody
Object deprecated(@RequestBody Map<String, Object> commandMap, ModelMap model, HttpServletRequest request) throws Exception {
}
이렇게 method 위에 표시하면 해당 method는 deprecated 처리 된다.
@RestController
@Deprecated
public class TestController {
@PostMapping("/test")
public @ResponseBody Object test(@RequestBody Map<String, Object> commandMap, HttpServletRequest request) throws Exception {
}
이렇게 Class 전체를 막을 수도 있다. 전체를 deprecated 처리하면 클래스는 사용하지 않는 다는 의미로 취소선이 생긴다.
'TIL' 카테고리의 다른 글
[TIL] 생성자 관련 어노테이션 @NoArgsConstructor @RequiredArgsConstructor @AllArgsConstructor (0) | 2023.07.04 |
---|---|
[TIL] - Return null과 new Exception으로 던지는 것의 차이가 무엇일까 (0) | 2023.06.30 |
[TIL] git flow - hotfix branch 를 main에 merge한 이후에? (0) | 2023.06.22 |
[TIL] 버퍼를 읽는 것이란 무엇일까...?... Wrapper class를 써보았다. (0) | 2023.06.20 |
[TIL] HttpServletRequest 에서 request 값을 GET, POST에서 사용하기 (0) | 2023.06.19 |