728x90
반응형

JAVA 260

@RequestBody @RequestPart 차이

파일과 데이터를 동시에 전송하려면 @RequestBody 대신 @RequestPart를 활용해야 합니다.이유는 @RequestBody는 JSON 데이터를 처리하고,@RequestPart는 multipart/form-data에서 데이터를 처리하기 때문입니다. 비교특징@RequestBody@RequestPart사용 시점JSON 또는 XML 데이터를 처리할 때multipart/form-data 요청 처리할 때요청 데이터 형식JSON, XML 등 직렬화된 데이터multipart/form-data주로 처리 대상일반 객체 (JSON -> Java)파일(MultipartFile) 및 객체(JSON)HTTP 요청 본문 방식단일 요청 본문으로 처리요청 본문을 여러 파트로 나누어 처리Spring 변환기 사용HttpMess..

JAVA 2024.12.17

[JAVA] endsWith

// 마지막 콤마 제거String custNmList = custNmBuilder.toString();if (custNmList.endsWith(", ")) { custNmList = custNmList.substring(0, custNmList.length() - 2);} String.endsWith(String suffix)는 Java의 String 클래스에서 제공하는 메서드로,특정 문자열이 주어진 접미사(suffix)로 끝나는지 확인하는 데 사용됩니다.반환 값은 boolean이며, true 또는 **false**를 반환합니다. boolean result = str.endsWith(suffix);  str: 끝을 확인할 문자열입니다.suffix: str의 끝에서 일치 여부를 검사할 대상 문자열입..

JAVA 2024.12.12

[JAVA] 제네릭유형으로 파라미터를 받아왔을 때 다운캐스팅 하는 이유

protected List> getAttFiles(T param) throws SQLExceptionparam바로 사용하면 param.getCrCd()호출할 수 없는 이유는 param이 제네릭 유형 T으로 선언을 시작하는 것입니다. 다운캐스팅이 필요합니다 :ReqEcrdCreateDTO에 정의된 방법을 사용하려면,param을 밴드형인 ReqEcrdCreateDTO로 변환해야 합니다. 이것이 코드 ReqEcrdCreateDTO createParams = (ReqEcrdCreateDTO) param;를 사용하는 이유입니다.

JAVA 2024.12.11

[JAVA] String 배열에서 값 삭제하기

Java는 String[]크기가 고정된 배열을 모아, 배열에서 값을 삭제하려면 새로운 배열을 생성하거나다른 데이터 구조로 변환해야 합니다. 1. 새로운 배열 생성String[]특정 값을 삭제하면 사용할 수 있는 값을 제외하고 새로운 배열을 사용할 수 있습니다.import java.util.Arrays;public class Main { public static void main(String[] args) { String[] array = {"apple", "banana", "cherry", "date"}; String valueToRemove = "banana"; String[] newArray = Arrays.stream(array) ..

JAVA 2024.12.01

[JAVA] BigDecimal 나누기

1. 기본 나눗셈BigDecimal의 divide 메서드는 정확한 계산을 보장합니다. 그러나 결과가 무한소수일 경우, ArithmeticException이 발생하므로, 소수점 자리수와 반올림 모드를 지정해야 합니다.import java.math.BigDecimal;import java.math.RoundingMode;public class BigDecimalDivision { public static void main(String[] args) { BigDecimal numerator = new BigDecimal("10"); BigDecimal denominator = new BigDecimal("3"); // Scale을 2로 설정하고, 반올림 모드 HALF..

JAVA 2024.11.25

[JAVA] JWT인증 토큰을 거치지 않는 예외 API 설정하기 방법2

방법 2: WebSecurityCustomizer로 보안 무시 설정WebSecurityCustomizer를 사용해 특정 경로에 대해 Spring Security의 모든 필터를 무시하도록 설정할 수 있습니다.@Beanpublic WebSecurityCustomizer webSecurityCustomizer() { return (web) -> web.ignoring() // JWT 인증을 거치지 않는 경로 .antMatchers("/api/public/**");}주요 사항:보안 무시: 해당 경로는 Spring Security의 모든 필터를 우회하므로, CORS나 CSRF 같은 설정도 영향을 받지 않습니다.경로 예외: 보안이 완전히 비활성화되므로, 인증이 필요 없는..

JAVA 2024.11.23

[JAVA] JWT인증 토큰을 거치지 않는 예외 API 설정하기 방법1

방법 1: HttpSecurity에서 permitAll() 사용HttpSecurity를 활용해 경로에 대해 명시적으로 인증을 비활성화할 수 있습니다.@Beanpublic SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return http .httpBasic().disable() // 기본 인증 비활성화 .csrf().disable() // CSRF 비활성화 .authorizeHttpRequests() // JWT 인증 없이 허용할 API 경로 .antMatchers("/api/public/**").permitA..

JAVA 2024.11.22
728x90
반응형