sggnology
하늘속에서IT
sggnology
전체 방문자
오늘
어제
  • 분류 전체보기 (83)
    • Algorithm (31)
      • Programmers (27)
      • Baekjoon (4)
    • WIKI (4)
      • VirtualBox (1)
      • Power Toys (1)
    • NodeJS (4)
      • nvm (1)
      • React (1)
      • Vue (1)
    • Dev Language (3)
      • Java (2)
      • Kotlin (1)
    • Spring Boot (17)
      • Gradle (1)
      • JPA (3)
    • DB (4)
      • MariaDB (3)
      • Redis (0)
    • Android (6)
      • Debug (3)
    • Nginx (3)
      • Debug (1)
    • Intellij (0)
    • Network (1)
    • Git (2)
      • GitHub (2)
    • Chrome Extension (0)
    • ETC (5)
      • Monitoring (2)
    • Linux (1)
      • WSL (1)
    • Visual Studio (1)
    • Side Project (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 알고리즘
  • 오블완
  • java
  • kotlin
  • 레벨3
  • 티스토리챌린지
  • 연습문제
  • docker
  • JPA
  • mariadb
  • 레벨2
  • DB
  • 백준
  • nginx
  • 안드로이드 스튜디오
  • 프로그래머스
  • Android Studio
  • 고득점 Kit
  • spring boot
  • 고득점KIT

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
sggnology

하늘속에서IT

Spring Boot

[Spring Boot] RestTemplate 으로 ASP.Net 서버와 통신하려 할 때 특정 field 가 전송되지 않는 이슈(feat. Gson)

2023. 5. 14. 23:33
728x90

발단

ASP.NET 이라고 규정할 수 없지만, 필자는 특정 서버와의 통신에서 왜 인지 특정 이유는 알 수 없지만 field 가 전달되지 않는 이슈를 겪었다.

 

설명

- 요청 메서드는 post 방식을 사용하였고 그에 따라 body 에는 객체를 담아 전송하였다.

- body 객체는 String 과 List<String> 을 포함하는 흔한 dto 이다.

- 왜인지 ASP.NET 서버는 field validation 에 실패하였다는 값을 응답하였고 필자가 전송할 때 실수한게 있나 싶어 cURL 로 요청을 보냈을 때 요청은 성공적이었다.

 

해결

- 설명에서 언급한대로 여전히 정확한 이유에 대해서는 알지 못한다.

- 그러나, cURL 로의 요청이 성공했다는 것을 근거로 객체의 serialize 과정에서 문제가 있을 수 있다고 생각하였다.

- 따라서, Gson 을 통해 json 형식의 string 값으로 변환하여 요청하였고, 결과는 성공이었다.

 

코드

var body = SomeObject(..)
var gson = Gson()
var jsonBody = gson.toJson(body)

restTempalte.exchange(
	...
	jsonBody,
	...
)
728x90

'Spring Boot' 카테고리의 다른 글

[Spring Boot] custom error page 적용(feat. 예제, ErrorController)  (0) 2023.05.26
[Spring Boot] JWT 라이브러리를 의존성 추가했음에도 빌드 오류가 나는건 왜일까?(feat. `io.jsonwebtoken:jjwt-api`)  (2) 2023.05.25
[Spring Boot] s3 aws-java-sdk(v 1.1) 을 사용하는 개발환경에서 SSL 인증서와 무관하게 통신하는 방법(feat. ValidatorException: PKIX path building failed)  (0) 2023.05.23
[Spring Boot] Spring Boot 에서 JPA 로 값을 수정시 알 수 없는 이유로 sql 에러가 발생할 때(feat. SQL Error: 1064, SQLState: 42000)  (0) 2023.05.20
[Spring Boot] Spring Boot(Kotlin) Gradle 환경에서 docker 이미지를 추출하는 방법(feat. bootBuildImage)  (0) 2023.05.18
    'Spring Boot' 카테고리의 다른 글
    • [Spring Boot] JWT 라이브러리를 의존성 추가했음에도 빌드 오류가 나는건 왜일까?(feat. `io.jsonwebtoken:jjwt-api`)
    • [Spring Boot] s3 aws-java-sdk(v 1.1) 을 사용하는 개발환경에서 SSL 인증서와 무관하게 통신하는 방법(feat. ValidatorException: PKIX path building failed)
    • [Spring Boot] Spring Boot 에서 JPA 로 값을 수정시 알 수 없는 이유로 sql 에러가 발생할 때(feat. SQL Error: 1064, SQLState: 42000)
    • [Spring Boot] Spring Boot(Kotlin) Gradle 환경에서 docker 이미지를 추출하는 방법(feat. bootBuildImage)
    sggnology
    sggnology
    하늘은 파란색이니까 내 삶도 파란색이길 ㅎㅎ

    티스토리툴바