
.NET 9.0 부터 Swagger 패키지가 제거 되었다.필요시 수동으로 Swagger 패키지를 추가해 주어야 한다. .NET 8.0 기본 URLhttps://localhost:7188/swagger/index.html .NET 9.0 기본 URLhttps://localhost:7005/openapi/v1.jsonorhttps://localhost:7005/swagger/index.html Swagger 패키지 추가# Swagger UI를 위해 필요dotnet add package Swashbuckle.AspNetCore Swagger 설정(Program.cs)// --------------------------------------------------------------------------// S..
IActionResult 유형HTTP 상태 코드설명일반적인 사용 예시Ok()200 OK요청이 성공적으로 처리되었음을 나타냅니다. 주로 조회(GET) 요청 성공 시 데이터와 함께 반환됩니다.return Ok(data); (데이터 조회 성공)CreatedAtAction()201 Created리소스(자원)가 성공적으로 생성되었음을 나타냅니다. 생성된 리소스의 URI와 함께 해당 리소스의 본문(Body)을 반환하는 것이 RESTful 관례입니다.return CreatedAtAction(nameof(GetById), new { id = newResourceId }, newResourceObject); (새로운 사용자 등록 성공)NoContent()204 No Content요청은 성공적으로 처리되었지만, 반환할 본..
내장된 유효성 검사 특성 외에 사용자 정의 유효성 검사 규칙을 추가하는 방법은 크게 두 가지가 있습니다.사용자 정의 유효성 검사 특성(Custom Validation Attribute):가장 일반적인 방법이며, 단일 속성에 대한 유효성 검사를 정의할 때 [Required], [StringLength]처럼 속성 위에 어노테이션 형태로 붙여 사용할 수 있습니다. 재사용성이 높습니다.ValidationAttribute 클래스를 상속받아 구현합니다.IValidatableObject 인터페이스 구현:모델(클래스) 수준의 유효성 검사를 정의할 때 사용합니다. 여러 속성의 값 조합에 따라 유효성 검사 결과가 달라지는 경우에 적합합니다. (예: 시작 날짜가 종료 날짜보다 빠르지 않아야 한다.)NoReservedUser..
public class MyModel{ // 컴파일러에게 null이 될 수 있음을 알림. // 하지만 런타임 시에는 이 속성이 필수임을 [Required]로 강제. [Required] public string? RequiredField { get; set; } // 컴파일러에게 null이 될 수 있음을 알림. // 런타임 시에도 null을 허용함 (필수 아님). public string? OptionalField { get; set; } // 컴파일러에게 null이 될 수 없음을 알림. (경고 발생 가능성 있음) // 런타임 시에는 필수임을 강제. [Required] public string AnotherRequiredField { get; se..
비유: 공항 보안 검색대와 탑승 게이트승객 (Client): HTTP 요청을 보내는 사용자.보안 검색대 (app.UseAuthentication()): 승객의 신분증(JWT 토큰)을 확인하여 '이 사람이 누구인지'를 인증하는 곳.탑승 게이트 (app.UseAuthorization()): 신분증(인증)이 확인된 승객이 '이 비행기(보호된 리소스)를 탈 수 있는 자격(권한)이 있는지'를 확인하는 곳.탑승권 ([Authorize] 속성): 특정 비행기에 탑승하기 위해 필요한 자격(예: 퍼스트 클래스 승객, 특정 목적지 승객)을 나타내는 표식.[Authorize] 속성 처리 과정 (단계별 설명)[Authorize] 속성이 붙은 API 엔드포인트에 요청이 들어오면, ASP.NET Core는 다음 단계를 거쳐 요청..

Program.cs 수정: SwaggerGen에 JWT 인증 추가Program.cs 파일을 열고 builder.Services.AddSwaggerGen() 부분에 다음 설정을 추가합니다.Program.cs (Swagger 인증 설정 추가)// Program.csusing System.Text;using Microsoft.AspNetCore.Authentication.JwtBearer;using Microsoft.IdentityModel.Tokens;using Microsoft.OpenApi.Models; // OpenApiSecurityScheme, OpenApiSecurityRequirement 사용을 위해 필요using Microsoft.AspNetCore.Authorization; // 이미 있다면..
JWT(JSON Web Token) Bearer 인증 추가 단계별 가이드 (.NET 8.0 기준)사전 준비물:.NET 8.0 SDK (최신 버전 권장)Visual Studio 2022, VS Code 또는 원하는 코드 편집기REST API 클라이언트 (Postman, Insomnia 등) 1단계: ASP.NET Core 웹 API 프로젝트 생성 (또는 기존 프로젝트 사용)아직 프로젝트가 없다면, 다음 명령어로 새 웹 API 프로젝트를 생성합니다:dotnet new webapi -n MyWebApiWithAuthcd MyWebApiWithAuth 2단계: 필요한 NuGet 패키지 설치프로젝트 폴더에서 터미널 또는 명령 프롬프트를 열고 다음 패키지를 설치합니다:dotnet add package Microso..
두 패턴 모두 소프트웨어 개발, 특히 UI(사용자 인터페이스)를 가진 애플리케이션 개발에서 코드를 구조화하고 관심사를 분리하기 위한 디자인 패턴입니다. 목표는 비슷하지만, 접근 방식과 각 구성 요소의 역할에서 차이가 있습니다.1. MVC 패턴 (Model-View-Controller)MVC는 UI를 가진 애플리케이션에서 가장 오래되고 널리 사용되는 패턴 중 하나입니다. 각 구성 요소가 명확한 역할을 가지고 있어, 코드를 체계적으로 관리하고 확장성을 높이는 데 도움을 줍니다.Model (모델):역할: 애플리케이션의 데이터와 비즈니스 로직을 담당합니다.특징:데이터를 표현(예: 데이터베이스에서 가져온 객체, 비즈니스 규칙을 포함한 클래스).데이터의 상태를 관리하고, 데이터를 조작하는 메서드를 포함합니다.뷰나 ..
- Total
- Today
- Yesterday
- 인텔리제이(intellij)
- 표현 언어(expression language)
- MainActor
- 제품 등록
- await
- React
- jstl(java standard tag library)
- 스프링 프레임워크(spring framewordk)
- 특정 문자를 기준으로 자르기
- 진수 변환
- java 키워드 정리
- system.io
- jsp 오픈 소스
- 스프링 프레임워크(spring framework)
- 메이븐(maven)
- 문자 자르기
- 스프링 시큐리티(spring security)
- REST API
- jstl(java standard tag library)-core
- java web-mvc
- java-개발 환경 설정하기
- In App Purchase
- 스프링 시큐리티(spring security)-http basic 인증
- nl2br
- error-java
- java.sql
- docker
- 람다식(lambda expression)
- System.Diagnostics
- .submit()
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |