목록Backend/스프링부트 (41)
개발 무지렁이

[dto.RsData.java] @AllArgsConstructor @Getter @ToString public class RsData { private final String resultCode; private final String msg; private final T body; public boolean isSuccess() { return resultCode.startsWith("S-"); } public boolean isFail() { return isSuccess() == false; } } [GenFileService.java] @Service @RequiredArgsConstructor public class GenFileService { private final GenFileReposi..

[article/write.html] 글쓰기 제목 내용 본문이미지 [Util.java] public class Util { public static class date { public static String getCurrentDateFormatted(String pattern) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern); return simpleDateFormat.format(new Date()); } } public static class file { public static String getExt(String filename) { return Optional.ofNullable(filename) .filter(f -> ..

[article/write.html] 글쓰기 제목 내용 본문이미지 [MemberController.java] @Controller @RequestMapping("/article") @Slf4j public class ArticleController { @PreAuthorize("isAuthenticated()") @GetMapping("/write") public String showWrite() { return "article/write"; } @PreAuthorize("isAuthenticated()") @PostMapping("/write") @ResponseBody public String write(ArticleForm articleForm, MultipartRequest multipartReq..

캐시를 거치면 프로필 이미지 갱신이 바로 되지 않는다 URL의 쿼리스트링에 난수값을 주어 캐시를 거치지 않게 만든다. [MemberContext.java] @Getter public class MemberContext extends User implements OAuth2User { private final Long id; public MemberContext(Member member, List authorities) { super(member.getUsername(), member.getPassword(), authorities); this.id = member.getId(); } public String getProfileImgRedirectUrl() { return "/member/profile/i..

saveProfileImg(profileImg) return 상대경로 [MemberService.java] private String saveProfileImg(MultipartFile profileImg) { if ( profileImg == null || profileImg.isEmpty() ) { return null; } String profileImgDirName = getCurrentProfileImgDirName(); String ext = Util.file.getExt(profileImg.getOriginalFilename()); String fileName = UUID.randomUUID() + "." + ext; String profileImgDirPath = genFileDirPath..

𐂂 로그(Log) 서버에 남는 일련의 기록 (ip주소, os...) 🧸 로깅이란: 로그(Log)를 생성하는 활동 📜 Log4jInit.java @WebServlet("/Log4jInit") public class Log4jInit extends HttpServlet { private static final long serialVersionUID = 1L; //work 작업영역의 로그를 관리하는 Logger객체(로그 분류 및 기록) 생성 private Logger work_log = Logger.getLogger("work"); public void init(ServletConfig config) throws ServletException { //루트 경로에 해당하는 실제 파일 시스템 경로 가져오기 Str..