Apache Avro13 Rest-API 구현 관련 과제 - 3 (예외처리) 3. Java 예외처리자바에서 예외 처리(Exception Handling)는 프로그램 실행 중 발생할 수 있는 오류 상황을 관리하여 프로그램이 갑작스럽게 종료되지 않고, 적절한 대응을 하도록 만드는 기법입니다. 예외 처리를 통해 예외가 발생했을 때의 흐름을 제어하여 프로그램의 안정성을 높일 수 있습니다.예외(Exception)란?예외란 프로그램 실행 중에 발생하는 오류를 의미합니다. 자바에서는 예외를 객체로 표현하며, 예외가 발생할 경우 Exception 클래스를 상속받은 예외 객체가 생성되고, 이를 적절히 처리하지 않으면 프로그램이 비정상 종료됩니다.예외의 종류체크 예외(Checked Exception): 컴파일 시점에 반드시 처리해야 하는 예외입니다. 예를 들어, 파일 입출력이나 네트워크 작업 중 .. 2024. 11. 3. Rest-API 구현 관련 과제 - 2 (JSON) 2. JSON저번 시간에 이어 DB의 내용들을 JSON Type을 return 하도록 하겠습니다. - test_table- test_table_column - RestController.javacontroller에 api 정보를 등록합니다.ResponseEntity를 이용하여 tableMetadats 의 List Type을 가져오도록 합니다.// Table Meta 정보를 조회@GetMapping("/tables/metadata")public ResponseEntity> readTableMetadatas() { List tableMetadatas = restService.getTableMetadatas(); return ResponseEntity.ok(tableMetadatas);} - Res.. 2024. 10. 28. Rest-API 구현 관련 과제 - 1 (Avro) 1. Avro Avro Type 으로 return 하도록 하겠습니다. - test_table- test_table_column- TestTable.javatest_table(id)과 test_table_column(test_table_id) 테이블을 조인하는 model을 설정합니다.JPA를 이용하면 어노테이션 기반으로 다음의 설정들을 추가할 수 있습니다.(여기서 JSONManagedReferenced 를 추가하면 재귀 없이 추가가 가능합니다.)package com.example.my_rest_api.model;import com.fasterxml.jackson.annotation.JsonManagedReference;import jakarta.persistence.*;import java.util.Arr.. 2024. 10. 27. Rest-API 구현 관련 과제 - 목표다음 스펙들로 DB를 구현하고 SchemaBuilder를 통해 API를 구현합니다.(JPA를 통해 다음 DB들을 ORM 방식으로 구현하는 것을 추천합니다.) 1. DB1-1) test_table1-2) DDL (test_table)-- public.test_table definition-- Drop table-- DROP TABLE public.test_table;CREATE TABLE public.test_table ( id int8 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1 NO CYCLE) NOT NULL, name varchar(255) NULL,.. 2024. 10. 9. Spring Boot REST API 및 DB 연동 실습 - 3 (DBtoAvro) 이제, DB에 있는 데이터들을 avro file 형태로 저장하는 로직을 구현해보도록 하겠습니다. DB -> AVROapplication.ymlyml파일에 ddl-auto 옵션을 none으로 변경하고 실행하겠습니다.jpa: hibernate: ddl-auto: none show-sql: true # 실행되는 SQL 쿼리 출력 properties: hibernate: dialect: org.hibernate.dialect.PostgreSQLDialect UserSchema.avsc{ "type": "record", "name": "User", "namespace": "com.example.my_rest_api.model", "fields": [ {"name": .. 2024. 9. 29. Spring Boot REST API 및 DB 연동 실습 - 2 (JPA) 이젠 본격적으로 JPA 환경설정을 수정해봅니다.기존의 pom.xml에 jpa 및 postgresql 사용을 위한 다음의 dependency들을 추가 합니다. pom.xml org.springframework.boot spring-boot-starter-data-jpa org.postgresql postgresql application.ymlmvn clean install 명령어를 수행 후, application.yml에 다음 내용들을 추가합니다.spring: datasource: url: jdbc:postgresql://localhost:5432/${dbName} username: *********** password: *********** driver-cla.. 2024. 9. 28. Spring Boot REST API 및 DB 연동 실습 - 1 (환경설정) 지난 시간까진 Avro Type의 파일을 Read & Write 하면서Avro plugin과 dependency를 이용한 실습을 수행하였습니다.이제 학습할 내용은 본격적으로 Spring boot에 DB를 연결한 뒤,이를 이용하여 Avro Type의 데이터를 DB에 CRUD 해보는 시간을 갖도록 하겠습니다. 1. postgreSQL- 설치할 DB : PostgreSQL 17- 라이센스 : MIT License무료 사용 및 배포: PostgreSQL은 개인, 기업, 상업적 용도에 관계없이 무료로 사용할 수 있습니다.수정 및 배포: 사용자는 소스 코드를 수정하거나, 수정된 버전을 배포할 수 있습니다.저작권 표기 유지: 수정한 코드를 배포할 때는 원본 소프트웨어의 저작권 표기를 유지해야 합니다.상업적 사용 허용.. 2024. 9. 28. 이전 1 2 다음