SPRING(31)
-
H2 db - 예약어
상황회원 가입 예제 코드 직접 작성 중 h2 db와 연동 후 작업하자 계속해서 에러 발생 문제- bad gramer- sql exception- 그 외 기타 등등 수 많은 오류 발생* 접했던 오류들 외. 테이블 작성 자체가 안 되거나, from user 했을 때 접근 자체가 안 되는 등. 문제 발생 지점- H2 DB 내 테이블을 정의할 때 'User' 테이블 작성 발생 원인H2 DB 에서 'User' 는 예약어로 지정 돼 있어, 지정된 사례 외엔 사용할 수 없어 에러 발생 회피 방법1. User -> Users 로 테이블명 변경=> 정상 동작 하나, 코드 작성 시 착각 및 오 입력이 잦아 휴먼에러가 발생하기 쉽다는 것을 몸소 체험함. 2. User 가 아닌 Member 사용=> 1. 의 방법은 굉장히 불..
2024.08.07 -
@RequestBody
클라이언트에서 보낸 JSON 타입의 데이터를 객체와 바인딩해주는 애노테이션이다. 에러 내용There was an unexpected error (type=Unsupported Media Type, status=415).Content-Type 'application/x-www-form-urlencoded;charset=UTF-8' is not supported.org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'application/x-www-form-urlencoded;charset=UTF-8' is not supported atspring web 에서content tpye : application/x-www-form-ur..
2024.08.06 -
@ResponseBody
사용 원리Http의 body 에 문자 내용을 직접 반환함. 사용 위치Controller 계층 Spring Web 의 도움을 받아 개발할 때,@Controller 를 선언하여 사용하게 되면 return되는 문자열을 기반으로, viewResolver 가 동작된다. viewResolver 가 사용될 경우, 보여줄 view를 찾고, 렌더링하고 기타등등 많은 처리가 이루어진다. 반면, @ResponseBody 를 사용할 경우, 객체를 JSON화 하여 Http 응 body 에 데이터를 직접 반환하게 된다. 더 자세한 내용은 추후 추가
2024.08.05 -
데이터 전달 방식 - API
APIAplication Programming Interface다른 소프트웨어 구성 요소 또는 서비스와 상호 작용을 하기 위한 인터페이스를 제공하는 프로그래밍 기술 목적상호 작용 - 방식 - 데이터 전송따라서, view를 전달할 필요는 없음. 그러니, 컨트롤러에서 view(String) 가 아닌 데이터 자체를 전달하면 됨. 동작 예시java, spring 에서 @ResponseBody 혹은 @RestController 를 사용한 경우,@GetMapping("hello-api")@ResponseBodypublic Hello helloApi(@RequestParam("name") String name) { Hello hello = new Hello(); hello.setName(name); ..
2024.08.04 -
@RequestParam-템플릿 에러
개발환경jdk_21Spring FrameworkThymeleaf 에러 내용Error resolving template [request-param], template might not exist or might not be accessible by any of the configured Template Resolversorg.thymeleaf.exceptions.TemplateInputException: Error resolving template [request-param], template might not exist or might not be accessible by any of the configured Template Resolvers- request-param 요청을 처리할 템플릿이 없거나,..
2024.08.04 -
@RequestParam - 파라미터 미기입
증상화이트라벨 에러 페이지로 이동하며, 400 Bad Request 에러가 발생함 원인Controller 에서 @RequestParam을 통해 값을 바인딩 한다고 정의 했으나,바인딩 할 값을 찾을 수 없어서 발생함. 해결 방법@RequestParam() 설정값 변경required (필수 사항인가?) 의 기본값은 true 이다. false로 바꿔주면 된다. 해결 후에러 페이지로 넘어가지 않는다.param 은 null 이 된다. ** 아래와 같이 파라미터 키값만 입력하고 value 를 넣지 않으면http://localhost:8080/request-param?param=param엔 빈 문자열이 들어간다.(null과 다름)
2024.08.04