415 에러

- 클라이언트(View)와 서버(Controller)의 요청/응답하는 데이터의 매개변수 설정이 잘못되었을 때 주로 발생
- form에서 controller로 데이터를 전송할 때 디폴트 Content-Type은 application/x-www-form-urlencoded 인데

   controller의 매개변수가 application/json 으로 받으면 에러가 발생

 

 

해결

1) 클라이언트 요청 메시지와 서버쪽 받는 매개변수의 Content-Type 맞춰주기

 form 전송 -> controller 에서 매개변수에 @ModelAttribute 로 받기

2) 메세지컨버터 디펜던시 추가

 

 

1. Content-Type 맞춰주기 

- 여기서 대부분 해결된다.

https://kiki-100.tistory.com/232

 

Content-Type

1. Content-Type 종류 1) application/json - 요청 데이터가 Json {key : value}  형식 2) application/x-www-form-urlencoded - 요청 데이터가 쿼리스트링(key=value) 형식 3) multipart/form-data

kiki-100.tistory.com

 

 

 

2. dependency 추가

1) maven (pom.xml)

<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.10.0</version>
</dependency>

 

2) gradle (build.gradle)

dependencies {
    // a dependency on Jackson Databind
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.8.9'

    // and a dependency on vert.x
    implementation 'io.vertx:vertx-core:3.5.3'
}

 

 

https://docs.gradle.org/current/userguide/dependency_version_alignment.html

 

Aligning dependency versions

Gradle supports aligning versions of modules which belong to the same "platform". It is often preferable, for example, that the API and implementation modules of a component are using the same version. However, because of the game of transitive dependency

docs.gradle.org

 

'JAVA > 1' 카테고리의 다른 글

@RequestParam @RequestBody @ModelAttribute  (0) 2022.05.07
Content-Type  (0) 2022.05.06
JAVA log 정리  (0) 2022.04.30
Java(controller) - HTML(form) 데이터 전송 정리  (0) 2022.04.29
[intelliJ IDEA] try-catch 단축키  (0) 2021.12.27

+ Recent posts