API 20

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

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

43. [ JAVA ] JWT(Json Web Token)(보안) 정의

1. JWT 토큰이란?JWT(Json Web Token)은 Json 객체에 인증에 필요한 정보들을 담은 후 비밀키로 서명한 토큰으로, 인터넷 표준 인증 방식입니다. 공식적으로 인증(Authentication) & 권한허가(Authorization) 방식으로 사용됩니다. 여기서 일반 로그인 과정과 인증 방식을 헷갈릴 수 있습니다. 바로 jwt 프로세스를 살펴보겠습니다.  1) 사용자가 아이디와 비밀번호 혹은 소셜 로그인을 이용하여 서버에 로그인 요청 2) 서버는 비밀키를 사용해 json 객체를 암호화한 JWT 토큰을 발급 3) JWT를 헤더에 담아 클라이언트에 전달 여기까지가 JWT를 발급받기까지의 (로그인 전) 과정입니다. 로그인 이후에는 다음과 같은 과정이 이루어집니다.클라이언트는 JWT를 로컬에 저장..

API/이론 2024.12.30

42. [ JAVA ] API 문서 문제 : review_db (1)

1. 문제API 명세서1. User API1.1. 사용자 등록URL: /usersMethod: POSTRequest Body:{ "username": "john_doe", "email": "john.doe@example.com", "password": "securepassword" }Response:201 Created:{ "id": 1 }1.2. 사용자 상세 조회 (주문 내역 포함)URL: /users/{id}Method: GETResponse:200 OK:{ "id": 1, "username": "john_doe", "email": "john.doe@example.com", "created_at": "2024-12-20T10:00:00Z", "orders": [ { "order_id": 1, "pro..

API/실습 2024.12.25

41. [ JAVA ] API 문서 문제 : 유저 관리(sb-user-server)

1. 문제   2. 풀이 초기세팅 https://danmi1109.tistory.com/46 40. [ JAVA ] 서버  API 문제 풀이 : 초기 세팅문제 풀이를 하기전에 초기 세팅 방법에 대하여 알아보겠습니다.문제풀이에 필요한 프로그램 및 사이트는 DBeaver,Spring Boot,Gibhubdp, intelliJ ,putty입니다.   DBeaver DBeaver 실행후 새로운 Databases생성danmi1109.tistory.com 위의 설명대로 API 초기 세팅을 해주시면됩니다. Github를 통하여 intelliJ를 실행하여 줍니다.  entity(패키지)생성 -> User 클래스 생성->   사용자 추가  생성자 초기화및 필드 getter/setter(private의 경우) 생성하여 줍..

API/실습 2024.12.21

37. [ JAVA ] 서버 개발 환경 설정

1. API(Application Programming Interface) 1) API(Application Programming Interface)란 API(Application Programming Interface)는 서로 다른 소프트웨어 애플리케이션이 통신하고 상호 작용할 수 있게 해주는 프로토콜과 도구의 집합입니다.    2) API의 주요 특징중개자 역할: API는 애플리케이션 간의 통신을 facilitate 하는 소프트웨어 중개자 역할을 합니다. 추상화: 복잡한 시스템 세부 사항을 숨겨 프로그래밍 과정을 단순화합니다. 표준화: 애플리케이션이 정보를 요청하고 교환하는 표준화된 방법을 제공합니다. 다용도성: 모바일 앱, 웹 애플리케이션, IoT 기기 등 다양한 환경에서 사용될 수 있습니다.  3..

API/이론 2024.12.18

15. [ JAVA ] API 서버 개발을 위한 필수 요소

서버 개발을 쉽게 해줄수 있는 프레임 워크 프레임 워크 : Spring Boot   1. Spring Boot    1) Spring Boot 정의  Spring Boot는 Java Spring Framework를 기반으로 한 서브 프레임워크로,  웹 애플리케이션과 마이크로서비스를 더 쉽고 빠르게 개발할 수 있도록 설계된 도구입니다. 아래는 Spring Boot의 주요 특징과 장점입니다: 2) Spring Boot의 주요 특징 (1) 자동 설정(Auto-Configuration) 복잡한 설정 파일 없이, 필요한 기능을 자동으로 설정합니다. 예: @EnableAutoConfiguration 어노테이션을 통해 REST API 개발 시 필요한 Spring MVC와 내장 서버를 자동 구성. (2) 내장 서버(E..

API/이론 2024.12.06
home top bottom
}