전체 글 174

54. [ JAVA ] Spring Boot에서 발생하는 예외처리(@Exception Hander)

1. 프로그램 오류의 종류프로그램 오류는 크게 세 가지로 나눌 수 있습니다:컴파일 에러: 컴파일 시에 발생하는 에러런타임 에러: 프로그램 실행 중에 발생하는 에러논리적 에러: 프로그램이 실행은 되지만, 의도와 다르게 동작하는 경우이 중 런타임 에러는 다시 '에러(Error)'와 '예외(Exception)'로 나눌 수 있습니다.에러(Error): 프로그램 코드로 수습할 수 없는 심각한 오류 (예: 메모리 부족, 스택 오버플로우)예외(Exception): 프로그램 코드로 수습할 수 있는 비교적 경미한 오류 2. 예외 클래스의 계층 구조자바에서는 실행 시 발생할 수 있는 오류(Error와 Exception)를 클래스로 정의하고 있습니다.    예외 클래스의 최상위 클래스모든 예외의 최고 조상은 Exceptio..

JAVA/이론 2025.01.11

53. [ JAVA ] Spring Boot를 이용한 API 통신 : 뉴스 검색 예시

지난 시간에 NAVER API 를 이용하여 세팅을 진행하였습니다. 이번시간에는  NAVER API 로 Spring Boot를 이용한 API 통신의 예시를 보여드리겠습니다.  세팅  블로그 검색 API 레퍼런스 블로그 검색 결과 조회블로그 검색 결과 조회 설명 네이버 검색의 블로그 검색 결과를 XML 형식 또는 JSON 형식으로 반환합니다.  intelliJ application.yml를 하단과 같이  요청 URL 요청 URL결괏값 반환 형식https://openapi.naver.com/v1/search/blog.xmlXMLhttps://openapi.naver.com/v1/search/blog.jsonJSON참고 사항 API를 요청할 때 다음 예와 같이 HTTP 요청 헤더에 클라이언트 아이디와 클라이언트..

API/실습 2025.01.11

52. [ JAVA ] Spring Boot : 데이터 유효성 검사 적용방법(validation)

Validation(유효성 검사)란? Validation(유효성 검사)은 데이터의 정확성과 일관성을 확인하는 프로세스입니다. 1. 역할데이터 무결성 보장: 시스템에 입력되는 데이터가 정확하고 유효한지 확인합니다.보안 강화: 악의적인 데이터 입력을 방지하여 시스템의 보안을 향상합니다.사용자 경험 개선: 잘못된 데이터 입력 시 즉각적인 피드백을 제공하여 사용자 경험을 개선합니다.비즈니스 로직 지원: 비즈니스 규칙에 맞는 데이터만 처리되도록 보장합니다. 2. 구현 방식클라이언트 측 검증: 브라우저에서 JavaScript를 사용하여 데이터를 검증합니다.서버 측 검증: 백엔드 코드에서 데이터의 유효성을 검사합니다.데이터베이스 제약 조건: 데이터베이스 레벨에서 데이터 무결성을 보장합니다. 3. 자동화 방법 Spri..

API/이론 2025.01.10

51. [ JAVA ] Spring Boot를 이용한 API 통신 : Naver API 세팅

Spring 프레임워크에서 네트워크 API 통신주로 사용되는 두 가지 라이브러리는 RestTemplate과 WebClient입니다. 네트워크 API 통신종류  1. RestTemplate RestTemplate은 Spring 3.0부터 제공된 오래된 HTTP 클라이언트 라이브러리입니다.특징:동기식, 블로킹 방식으로 동작멀티스레드 환경에서 사용RESTful 서비스 호출에 적합한 다양한 메서드 제공사용하기 쉽고 직관적인 API장점:간단하고 이해하기 쉬운 코드 구조풍부한 레퍼런스와 예제 존재단점:Spring 5.0 이후로 deprecated 되어 더 이상 권장되지 않음블로킹 방식으로 인한 성능 제한 2. WebClient WebClient는 Spring 5.0에서 도입된 최신 HTTP 클라이언트 라이브러리입니..

Install/API Install 2025.01.10

50. [ JAVA ] 어노테이션(Annotation) 개념 및 종류

1. 어노테이션 이란Annotation은 사전적 의미로는 주석이라는 뜻입니다. 프로그래밍에서 주석은 개발자가 코드를 더 직관적으로 이해하고 다른 사람에게 설명하기 쉽도록 상세한 정보를 제공하는 코드 내 설명문입니다. 주석은 코드의 목적, 동작 방식, 주의사항 등을 문서화하는 데 사용됩니다. 어노테이션은 주석과 외형적으로 유사해 보일 수 있지만, 그 본질적인 역할과 용도가 매우 다릅니다. 주석이 개발자와 같은 사람에게 코드에 대한 설명과 문서화된 정보를 제공하는 것이 목적이라면, 어노테이션은 프로그램 실행 과정에서 특정 동작이나 처리를 지시하는 메타데이터로서 프로그램에 직접적인 정보를 전달하는 도구입니다.  2. 어노테이션역할컴파일러에게 문법 에러를 체크하도록 정보를 제공합니다.프로그램을 빌드할 때 코드를..

Basic 2025.01.09

49. [ JAVA ] application.yml 파일설정 및 FileZilla설치 방법

기존에 사용하던 application.yml 40. [ JAVA ] API 문제 풀이 : Spring Boot와 MySQL (초기세팅)문제 풀이를 하기전에 초기 세팅 방법에 대하여 알아보겠습니다.문제풀이에 필요한 프로그램 및 사이트는 DBeaver,Spring Boot,Gibhubdp, intelliJ ,putty입니다.   DBeaver DBeaver 실행후 새로운 Databases생성danmi1109.tistory.com 에 대하여 application-dev.yml와 application-prod.yml에 대하여 추가 설명하여 드리겠습니다.  application-dev.yml과 application-prod.yml은 Spring Boot 애플리케이션에서 개발 환경과 운영 환경의 설정을 분리하기 위..

Install/API Install 2025.01.09

48. [ JAVA ] API 문서 문제 : JWT(Json Web Token)(보안) / Admin(1)

문제 어드민 API 명세서 1. 어드민 회원가입 관리자 권한을 가진 사용자를 등록하는 API입니다.URL: /api/v1/admin/signupMethod: POST설명:관리자 계정을 생성합니다.foodreview.com 도메인의 이메일만 회원가입이 가능합니다.자동으로 'ADMIN' 권한이 부여됩니다.Request Body:{ "email": "admin@foodreview.com", "password": "Admin123!@#", "nickname": "시스템관리자"}Validation:email: @foodreview.com 도메인만 허용password: 최소 10자 이상, 영문 대/소문자/숫자/특수문자 모두 포함 필수nickname: 2-20자 이내, 한글/영문/숫자 허용Respon..

API/실습 2025.01.06

47. [ JAVA ] API 문서 문제 : JWT(Json Web Token)(보안) / User (2)

문제 3. 리뷰 API3.1. 리뷰 작성새로운 리뷰를 작성하는 API입니다.URL: /api/v1/reviewsMethod: POST설명:인증된 사용자만 리뷰를 작성할 수 있습니다.동일한 메뉴에 대해 한 사용자는 하나의 리뷰만 작성 가능합니다.리뷰 작성 시 해당 음식점의 평균 평점이 자동으로 갱신됩니다.음식점과 메뉴의 리뷰 카운트가 자동으로 증가합니다.Request Header:Authorization: Bearer {accessToken}Request Body:{ "restaurantId": 1, "menuId": 1, "rating": 5, "content": "정말 맛있었습니다!"}Validation:rating: 1-5 사이의 정수만 가능content: 최소 10자 이상 작성..

API/실습 2025.01.05

46. [ JAVA ] API 문서 문제 : JWT(Json Web Token)(보안) / User (1)

문제  지난 시간 알려드린 JWT(Json Web Token)(보안) 추가 하여 문제 풀이를 진행하겠습니다. USER, OWNER, ADMIN으로 나누어 3가지로 진행하겠습니다.   테이블명세서  음식점 리뷰 시스템 테이블 명세서  1. user  사용자 정보를 저장하는 테이블칼럼명데이터 타입NULL기본값설명idBIGINTNOAUTO_INCREMENT기본키emailVARCHAR(100)NO-사용자 이메일, UNIQUEpasswordVARCHAR(200)NO-암호화된 비밀번호nicknameVARCHAR(50)NO-사용자 닉네임roleVARCHAR(10)NO'USER'권한(USER, OWNER, ADMIN)created_atTIMESTAMPNOCURRENT_TIMESTAMP생성일시 2. restaurant ..

API/실습 2025.01.04

45. [ JAVA ] Spring Boot에 JWT적용하여 구현: 기초 세팅

Spring Boot에 JWT(Json Web Token)에 대하여 알아보았았습니다.    intelliJ  위와 같이 Postman 에서 로그인을 진행하면  token이 발행될 수 있도록  intelliJ에서 초기 작업을 진행하도록 하겠습니다.  초기 세팅을 잘해두면 차후 클라이언트의 요청에 의해 몇 가지만 수정하여 재사용이 가능합니다.  intelliJ에 아래 문구를    application.yml 파일 설정     1. Config  설정 파일(Configuration file) 또는 Config 파일은 소프트웨어 애플리케이션이나 시스템의 매개변수와 초기 설정을 정의하는 데 사용되는 텍스트 파일입니다.   주요 특징코드와 설정 분리: 설정을 소스 코드와 분리하여 유지보수와 수정을 용이하게 합니다...

Install/API Install 2025.01.03
home
}