Spring(5)
-
SpringBoot + JPA 과제 중 구현 로직에 대한 고민 정리.
이번 맛집 추천 서비스 과제를 진행하면서 맛집 목록 조회에 대한 로직을 구현하던 중 생긴 고민과 해결 방법에 대해 정리해 봤습니다. 이번 과제는 공공데이터를 활용하여, 지역 음식점 목록을 자동으로 업데이트하고 이를 활용한다. 사용자 위치에 맞게 맛집 및 메뉴를 추천하여 더 나은 다양한 음식 경험을 제공하고, 음식을 좋아하는 사람들 간의 소통과 공유를 촉진하려 하는 과제입니다. (내 위치 또는 지정한 위치 기반으로 식당 및 해당 맛집의 메뉴를 추천한다.) 맛집 목록 조회 요구사항 맛집 목록 API 아래 쿼리 파라미터를 사용 가능합니다. query 속성 default(미입력 시 값) 설명 lat string 필수값 지구 y축 원점 기준 거리 lon string 필수값 주기 x축 원점 기준 거리 range d..
2023.11.08 -
tymeleaf 스프링 통합과 폼 정리
타임리프 스프링 통합 타임리프는 크게 2가지 메뉴얼을 제공한다. 타임리프 기본 메뉴얼 : https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html Tutorial: Using Thymeleaf 1 Introducing Thymeleaf 1.1 What is Thymeleaf? Thymeleaf is a modern server-side Java template engine for both web and standalone environments, capable of processing HTML, XML, JavaScript, CSS and even plain text. The main goal of Thymeleaf is to provide a w..
2023.06.29 -
Thymeleaf 기본 기능 정리
타임리프 특징 서버 사이드 HTML 렌더링(SSR) 네츄럴 템플릿 스프링 통합 지원 1. 서버 사이드 HTML 렌더링 (SSR) 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. 2. 네츄럴 템플릿 타임리프는 순수 HTML을 최대한 유지하는 특징이 있음. 타임리프로 작성한 파일은 HTML을 유지하기 때문에 웹 브라우저에서 파일을 직접 열어도 내용을 확인할 수 있고, 서버를 통해 뷰 템플릿을 거치면 동적으로 변경된 결과를 확인할 수 있다. JSP를 포함한 다른 뷰 템플릿들은 해당 파일을 열면 예를 들어 JSP 파일 자체를 그대로 웹 브라우저에서 열어보면 JSP 소스 코드와 HTML이 뒤죽박죽 섞여서 웹 브라우저에서 정상적인 HTML 결과를 확인할 수 없다. 오직 서버를 통해 JS..
2023.06.24 -
Spring Boot 프로젝트 Swagger로 API 문서화 하기.
Swagger란? Swagger는 REST API의 문서화, 테스트를 용이하게 해주는 프레임워크이다. Swagger를 사용하기 위해 build.gragle 파일에 springfox 라이브러리를 추가해주자. dependencies { ... implementation 'io.springfox:springfox-boot-starter:3.0.0' } SwaggerConfig 파일 생성. @Configuration public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.OAS_30) .useDefaultResponseMessages(false) // 1. .select() .apis(RequestHa..
2023.06.20 -
JWT(JSON Web Token) 개념 정리와 발급받는 과정.
JWT(JSON Web Token) 이란? JWT는 사용자 정보를 JSON 개체로 안전하게 전송하기 위한 간결하고 자체 포함된 방법을 정의하는 개방형 표준(open standard) ( RFC 7519 )이다 이 정보는 디지털 서명되어 있으므로 확인하고 신뢰할 수 있다. JWT는 비밀( HMAC 알고리즘 사용)을 사용하거나 RSA 또는 ECDSA 를 사용하는 공개/개인 키 쌍을 사용하여 서명할 수 있다 . JWT를 암호화하여 당사자 간에 비밀을 제공할 수도 있지만 서명된 토큰에 중점을 둔다. 서명된 토큰은 그 안에 포함된 클레임의 무결성을 확인할 수 있지만 암호화된 토큰은 이러한 클레임을 다른 당사자로부터 숨길 수 있음. 공개/개인 키 쌍을 사용하여 토큰에 서명할 때 개인 키를 보유하고 있는 당사자만 서..
2022.10.29