본문 바로가기
반응형

스프링부트5

[springboot] RESTful API RESTful API는 REpresentational State Transfer (상태 전달 표현) 아키텍처 스타일을 기반으로 한 웹 API입니다. REST는 웹 서비스의 설계를 위한 아키텍처적 규칙과 제약을 따르며, HTTP 프로토콜을 통해 자원(Resource)을 정의하고, 이를 HTTP 메서드(GET, POST, PUT, DELETE 등)로 처리하는 방식입니다.RESTful API의 주요 특징자원(Resource): RESTful API에서는 "자원"이 기본적인 개념입니다. 자원은 웹에서 처리하고자 하는 대상이며, URL을 통해 식별됩니다. 예를 들어, "책"이라는 자원을 다룬다면, 그 책은 http://example.com/books/123와 같이 URL로 표현됩니다. 여기서 123은 특정 책의 .. 2025. 1. 14.
[springboot] 쿼리스트링(Query String)과 주소변수매핑(Path variable) Spring Boot에서 URL 매핑을 사용할 때, 쿼리스트링과 Path Variable (/book/{bookId})은 URL에서 데이터를 전달하는 두 가지 주요 방법입니다. 이들의 차이점과 사용 사례를 설명하겠습니다.1. 쿼리 스트링 (Query String)쿼리 스트링은 URL에서 "?" 기호 뒤에 key-value 쌍으로 데이터를 전달하는 방식입니다. 여러 개의 파라미터를 **"&"**로 구분하여 전달할 수 있습니다. 쿼리 스트링은 URL의 끝에 위치하며, 서버에서 해당 파라미터들을 추출하여 처리합니다.예시:http://example.com/books?title=java&author=John위 URL에서 쿼리 스트링은 ?title=java&author=John 부분입니다. 이 URL은 title과.. 2025. 1. 14.
[springboot] Spring Security 권한 설정 외 @PreAuthorize로 추가 권한 검사 Spring Security는 Security Config 파일을 통해 접근 제한을 설정할 수 있다.하지만 대부분의 REST API 문서를 보면 userId 와 같이 기본키를  URL에 포함한다.따라서 전달받은 id와 세션에 저장된 id를 비교해 권한 검사하는 것은 선택적이지만 보안을 위해 권장한다.전달 받은 id와 세션의 정보를 비교 하는 방법으로 가장 가독성 있는 @PreAuthorize 어노테이션을 사용하는 방법이 있다.컨트롤러에 @PreAuthorize 어노테이션 사용 예시@RestControllerpublic class UserController { @PreAuthorize("#userId == authentication.principal.id") @PutMapping("/users/.. 2024. 10. 10.
DataSource 빈등록 스프링과 스프링부트 차이 스프링 부트는 자동으로 일반적인 설정을 수행하여 많은 빈을 자동으로 등록한다. 이에는 DataSource와 같이 자주 사용되는 빈도 포함된다. 따라서 보통의 경우에는 DataSource를 직접 빈으로 등록할 필요가 없다. 대신에 application.properties나 application.yml 파일을 통해 데이터베이스 연결 정보를 설정하면 스프링 부트가 자동으로 DataSource 빈을 생성하고 등록한다. 반면, 스프링은 수동으로 DataSource를 빈등록 해야 한다. application.properties나 application.yml 파일을 통해 데이터베이스 연결 정보를 설정하고, 매번 DataSource를 빈으로 등록해야 한다. (매번 DataSource 를 빈으로 등록하면 중복코드 발생하.. 2024. 4. 7.
[springboot] HTTP 상태 코드 및 리다이렉트 상태 코드의미1xx정보성 상태 코드요청 받았으나 무언가 계속되는 상태를 나타냄2xx성공요청을 성공적으로 수신/이해/수락 했다는 의미3xx리다이렉트 의미301: 요청을 서버에서 처리하지 않고 다른곳으로 유도한다. 리다이렉트되는 경우 2번의 HTTP 트랜잭션이 발생한다.4xx클라이언트 요청 오류404: 없는 url 요청 했을 때400: 파라미터 없을 때5xx서버 오류서버에서 요청 처리하는 과정에서 문제  스프링부트 @RestController에서 리다이렉트 방법:package com.pnow.controller;import org.springframework.http.HttpHeaders;import org.springframework.http.HttpStatus;import org.springframewo.. 2024. 4. 6.
반응형