전체 글(129)
-
자동문서화 - Swagger
학습 배경개발 초기.계속해서 api 내용이 바뀐다. Front Controller 인 디스패처 서블릿은 제쳐 두고,클라이언트가 보낸 값을 받아오고 처리하는 Controller 계층에서 어떻게 값을 받아오고어떤 값을 값을 받아오고필요 정보는 무엇인지무엇을 반환하는지 등을 자동으로 문서화 해주는 기술. SWAGGER 되시겠다.미리보기설정 완료 후, 브라우저를 통해 해당 경로로 접속하면 아래와 같은 정보를 확인할 수 있다.localhost:8080/swagger-ui/index.html SWAGGER목적API 문서화자동화 : api의 스펙을 자동으로 문서화한다. 자동화된 문서화 기능을 통해 api 사용법을 쉽게 터득할 수 있다. 문서작업에 손도 덜 탄다.명확한 설명 : api EndPoint 에 대한 설명이 ..
2024.10.26 -
[검증]@Valid ? @Validated ?
검증이 필요한 이유 :프로그램은 지정한 내용에 한해서 요청 처리가 가능하다.하지만 세상은 넓고 이상한 요청은 많은 법. 이상한 요청이 들어왔을 때, 처리할 수도 없을 뿐더러,요청에 대한 예외처리가 제대로 안 돼 있다면 바로 오류 -> 에러로 이어진다. 따라서, 검증은 개발에 있어 필수 덕목과 같다. 실습 환경 : - java17 - spring 3.2 @Valid@Valid는 JSR-303 표준 스펙이다.Bean Validator 를 이용해 객체의 제약 조건을 검증하도록 지시하는 애노테이션이다. JSR 표준 빈 검증 기술의 특징= 객체의 필드에 달린 애노테이션으로 편리하게 검증한다.@Getter@RequiredArgsConstructorpublic class AddUserRequest { @Email p..
2024.10.23 -
Github에서 repo 생성할 때 Read.Me 추가만 했을 뿐인데
상황spring 초기 설정 후 github 에 생성한 repository 에 push 시도 했으나, 오류 발생. 발생 원인- github 에서 repo 생성 당시, read.me 파일 생성이 문제가 됨.- 로컬 브랜치와 리모트 브랜치 간의 연결이 없음. 시도1. read.me 로 인한 문제이므로, git pull 로 해당 내용 받아온 후 push 재시도. 실패 원인 : 브랜치간의 접점이 없음.해결방법 : 이력 연관 없는 브랜치 강제로 땡겨오기.$ git pull main main --allow-unrelated-histories 아... 된다.. 참조: https://velog.io/@hill0ne/git-push-%EC%98%A4%EB%A5%98-Updates-were-rejected-because-t..
2024.10.16 -
미니 프로젝트 시작
목적 : 개인 프로젝트 진행을 통한 기술 향상.최종 목표 : 재고 관리 시스템 만들기 상황 설정 : 나는 재고 관리 업무를 한다.연말이 다가 와 재고 조사를 하는데..엉망진창이다. 어디에 뭐가 있는지 하나도 모르겠다.이건 몇개고 저건 몇개고발주한 건 다 들어 온건가?완성품이나 부분 조립된 건 어떻게 세야 하지?? 으앆!! 도둑까지 들었네. 몇개나 빠진거지? 아아.. 아무것도 파악이 안 돼... 결국. 주먹구구식으로 모두 세고 나서야 작업이 끝났다. 다신 이러고 싶지 않다.재고 관리를 제대로 해야 한다... 만들어야 겠다. 초기 설정JAVA : 17SPRING : 3.2.10DB : Mysql 그리고 대망의...시작부터 발생한 오류GitHub 연결 문제Github에서 repo 생성할 때 Read.Me 추가..
2024.10.16 -
BindingResult
BindingResultBindingResult는 스프링이 제공하는 검증 오류 보관 객체이다.BindingResult는 Model 에 자동으로 포함된다. ( return 하지 않아도 된다. ) examController@PostMapping("/item")public String add(@ModelAttribute Item item, BindingResult bindingResult){ ...} BindingResult 파라미터의 위치는 @ModelAttribute Item item 뒤에 와야만 한다. form에서 전송된 데이터를 Item 객체에 바인딩하고, 그 결과를 BindingResult 에 담는다. form 에서 전송한 데이터에서는 다양한 오류를 발생시킬 수 있다.그 중, 필드 오류와 글로벌 오류..
2024.09.19 -
원리를 알아야 하는 이유
어떻게 돌아가는지도 모르고 코드만 복붙하다 보면어디서부터 꼬였고, 어떻게 풀어야하는지 알 수 없게 되기 때문
2024.08.30