Scikit Web

Kotlin Spring Boot HttpClients HTTP POST JSON Example 본문

카테고리 없음

Kotlin Spring Boot HttpClients HTTP POST JSON Example

Keun0 2023. 7. 26. 17:18
728x90
반응형

스프링 코틀린 에서 HttpClients 를 이용하여 application/json 통신을 하는 예제입니다.

 

JSONObject() 를 만들고 데이터를 생성한 후 StringEntity에 넣어주고

 

API를 요청하는 서버에 별도의 인증 정보가 있다면 추가 합니다. 없으면 Authoriztion 은 삭제해도 됩니다.

 

Response를 받을때가 문제였는데.. ResponseHandler 를 통해 httpClient 통신을 통해 응답 받은 데이터를 가져와야

 

문제없이 body 값을 가져올 수 있었습니다.

 

import org.apache.http.client.ResponseHandler
import org.apache.http.client.methods.CloseableHttpResponse
import org.apache.http.client.methods.HttpPost
import org.apache.http.entity.StringEntity
import org.apache.http.impl.client.BasicResponseHandler
import org.apache.http.impl.client.CloseableHttpClient
import org.apache.http.impl.client.HttpClients
import org.json.JSONObject


var param = JSONObject()
param.put("Key", "Hello World")


val post = HttpPost("https://google.com")
post.entity = StringEntity(param.toString(), Charsets.UTF_8)
post.setHeader("Content-Type", "application/json");
post.setHeader("Authorization", "API_KEY")

val httpClient: CloseableHttpClient = HttpClients.createDefault()
val response: CloseableHttpResponse = httpClient.execute(post)

val handler: ResponseHandler<String> = BasicResponseHandler()
val body: String = handler.handleResponse(response)
728x90
반응형
Comments