728x90

Coding/Spring(Boot) 26

HTTP 메서드 (GET, POST, PUT, PATCH, DELETE)

📌 API URI 설계=> 리소스 식별이 중요하다ex) 회원을 등록한다 => "회원"이 리소스 결론: 회원 리소스를 URI에 매핑해야함 ex)회원 목록 조회 /members      회원 조회 /members/{id}      회원 등록 /members/{id}      회원 수정 /members/{id}      회원 삭제 /members/{id} 이렇게 같게 생겼으면 어떻게 구분하는가?=> 리소스와 행위를 분리하자 리소스: 회원 / 행위: 조회, 등록, 수정, 삭제  이걸 구분하기 위해 HTTP 메서드를  ,,!  HTTP 주요 메서드GET: 리소스 조회POST: 요청 데이터 처리, 주로 등록에 사용 PUT: 리소스를 대체, 해당 리소스가 없으면 생성 PATCH: 리소스 부분 변경DELETE: 리소..

Coding/Spring(Boot) 2025.02.07

Swagger란?

Swagger란 무엇인가Swagger는 RESTful API 설계, 문서화, 테스트, 모니터링을 쉽게 만들기 위한 오픈 소스 툴셋. API의 설계를 시각적으로 표현하고, 클라이언트-서버 간의 상호작용을 명확하게 정의하는 데 사용된다 Swagger의 주요 동작 원리Swagger는 RESTful API를 명세서로 정의한다.명세서가 포함하는 정보API 경로 및 HTTP 메서드 (GET, POST, PUT, DELETE 등)요청 파라미터 및 응답 데이터 구조HTTP 상태 코드 (200, 404, 500 등)인증 방식 (Bearer Token, API Key 등)API의 설명 및 예제Swagger의 주요 구성 요소Swagger UIAPI 문서를 시각적으로 확인할 수 있는 웹 기반 UI.REST API의 엔드포인트..

Coding/Spring(Boot) 2025.01.09

[Spring Boot] Open API 이미지가 일부만 없는 경우(대체이미지 사용)

❗️ 문제상황 아래 사진처럼 Open API에서 끌어온 이미지 중 일부가 존재하지 않을 경우 저렇게 엑박이 떠서 보기가 안좋다.DB에 하나하나 넣긴 노가다고 이걸 어떻게 하면 좋을까 생각하던 중 대체이미지를 쓰자는 결론에 다다랐다.  ➡️ 기존 코드 (이미지를 띄우는 부분) 🔧 해결 방법UPDATE AnimalSET PHOTO_URL = 'https://loremflickr.com/cache/resized/521_31094492753_0bb59abbde_z_600_400_nofilter.jpg' WHERE PHOTO_URL = ""; 이런식으로 MySQL 쿼리문을 이용하여 db빈칸을 매꿔주었다.where ~~ =null; 이 아니라 = ""; 로 짠 이유는 null값이 아니라 공백값이었기 때문이다이렇게..

Coding/Spring(Boot) 2024.07.19

[Spring Boot] Entity에 _(언더바) 붙은 필드 리포지토리가 인식 못하는 경우

❗️ 오류기존에 엔터티 생성 시 SIGUN_CD 이런식으로 언더바가 붙은 형태로 만들었었는데 레포지토리에 "SIGUN(뒤에_CD 자체를 인식 못함)is not found ~~ in 테이블명" 이런식으로 대충 찾을 수 없다고 떴다. ✍🏻 해결법 하나하나 Column을 넣어서 기존의 필드값을 넣어줘서 기존에 db에 저장된 내용들엔 변함이 없게 하고 프로그램 내 변수명만 언더바를 뺀 카멜형식으로 바꿔주었다.

Coding/Spring(Boot) 2024.07.16

[Spring Boot] 공공데이터포털 Open api 불러오기

1️⃣ 공공데이터포털 홈피 들어가기 https://www.data.go.kr/ 2️⃣ 원하는 데이터 검색 그리고 오픈API 눌러준다. ❗️ 지역별로 나뉘는 경우 클릭하면 그 지역 데이터 홈페이지로 이동됨. 그 경우로 설명드리겠음 3️⃣ 로그인 후 인증키 받기  저 초록녀석 위에 있는 인증키 신청 클릭 후 받기(발급하는데에 1~2시간 걸린다고 알고있음. 근데 전 바로 되긴함) 이런식으로 뜬다. 4️⃣ Open api 제공 링크에 인증키 넣기http://openapi.seoul.go.kr:8088/(발급받은 인증키)/(데이터타입:json or xml)/TbAdpWaitAnimalView/1/5/ 저 위에 767a7a~~~~ 이걸 (발급반은 인증키)에다가 넣고, 데이터 타입엔 json이나 xml을 쓴다. 무엇..

Coding/Spring(Boot) 2024.07.11

[Spring Boot]Open api 데이터가 예상보다 적게 들어오는 경우

❗️발생 오류서울시 유기동물 api를 가져오는 과정에서, 홈페이지에 견본 sheet상에는 수많은 데이터 목록이 있었지만 막상 링크를 불러와서 파싱 후 데이터베이스에 적재하는 과정 후에 5마리만 들어왔다.  나의 mysql db상에서는 이렇게 5마리만 들어오는 경우 발생. 알고보니  String apiUrl = "http://openapi.seoul.go.kr:8088/인증키/json/TbAdpWaitAnimalView/1/5"; 저기서 1/5가 문제였다.   ✍🏻 해결 방법  그래서 저걸 1/1000으로 늘려주니 더 많은 데이터를 불러올 수 있었다. 근데 이렇게 해도 모든 동물들이 들어오는 건 아니다. 하지만 범위 적는 곳의 maximun number는 1000이다.테스트 결과 1000을 넘기면 이런 ..

Coding/Spring(Boot) 2024.07.11

[Spring Boot]Open api 데이터 용량 초과로 인한 불러오기 실패 문제 해결법

❗️ 오류사항open api에서 json값을 (인증키포함링크) 받아 spring boot 내에서 파싱해서 mysql db에 적재하는 작업을 하던 중  Error fetching and saving data: could not execute statement [Data truncation: Data too long for column 'INTRCN_CN' at row 1] [insert into Animal 이런 오류가 떴다. 대충 보면 데이터의 길이가 너무 길어서 DB 테이블 내에 들어가질 못하는 것 같았다.  아마 이런식으로 내용들이 길어서  varchar(255)로 담을 수 없어서 생긴 모양이다.📌 해결 실패한 방법1. varchar(1000)까지 늘려보기@Column(length = 늘릴 값) 으..

Coding/Spring(Boot) 2024.07.10

[Spring Boot] STS4에 Bootstrap/CSS 연결하기

🔴 부트스트랩 연결 전  이렇게 기본적 기능만하고 못생긴 페이지가 있다고 하자.이제 이 아이를 간단하게 예쁘게 만들어 줄 수 있는 것이 부트스트랩이다 🟢 부트스트랩 연결 후이렇게 깔끔한 디자인으로 바뀌었다.  📌 부트스트랩 연결 방법https://getbootstrap.kr/docs/5.0/getting-started/introduction/ 시작하기세계에서 가장 인기있는 프레임워크인 Bootstrap으로 반응형, 모바일 우선 사이트를 jsDelivr와 스타터 페이지 템플릿을 통해 시작해보세요.getbootstrap.kr  (부트스트랩 사이트에 들어가면 여러 방법이 있는데, 그 중 CSS링크를 끌어다 쓰는 방법을 작성해보겠습니다.) 일단 변화주길 원하는 html파일 부분에 상단 링크를 붙여넣어주면된..

Coding/Spring(Boot) 2024.06.21