728x90

최근에는 비대면 문화가 만연해지면서 파일을 전송할 일이 많아서 우리의 개발자들은 파일 전송 코딩을 많이 하게 됩니다.

파일 전송은 편리한 여러 라이브러리가 많이 사용됩니다.

그중 하나인 REST API로 보낼 수 있는 OKHTTPClient를 소개해 드리고자 합니다.

 

OKHttp 라이브러리는 REST API, HTTP 통신을 간편하게 구현할 수 있는 JAVA 라이브러리입니다.

"Square"라는 회사에서 만든 것으로 간편하게 파라미터만 세팅해주면 파일 전송할 수 있는 괜찮은 라이브러리입니다.

 

파일 전송(OK파일 전송 (OKHttpClient REST API) 예제

자 다음은 OKHttp 라이브러리로 만든 파일 전송의 간단한 예제입니다.

 

api접속하기 위한 변수들

위에 사진에 대한 설명입니다.

 

FILENAME : 파일 이름

APIURL     : 접속할 API URL

FILEPATH  : 내가 가져올 파일 경로

APIKEY     : API URL에 접속하기 위한 API key(고객에게 받은 key)

 

파일 가져오기

csvfile 변수에 위에 지정한 filePath와 fileName으로 내가 보낼 파일을 가져옵니다.

 

OkHttpClient 객체 생성

그리고 파일을 보내기 위해서는 꼭 필요한 OKHTTPClient의 파일 전송 객체를 만듭니다.

 

아래 사진들은 Request.Builder를 이용하여

전송방식 put 이용하여 만든 Request 객체 예시입니다.

 

Rest API put 예시

위에 예시를 설명드리면,

addHeader를 메서드로 header 정보를 포함해야 됩니다.

그러므로 우리가 위에 지정한 apiKey를 넣어줍니다. 그 이외에 다른 Header정보가 필요하다면 넣어주시면 됩니다.

url 메서드는 당연히 접속할 URL apiURl을 넣어줍니다.

 

RestUrl 중 put 전송방식을 통해 파일을 보냅니다.

RequestBody 객체 create 메서드를 통해 csvFile을 넣어줍니다.

첫 번째 매개변수에는 MediaType Class에 parse메서드에서 파일 형식을 보내고, 두 번째 매개변수에서는 내가 보낼 파일을 넣어줍니다. 저는 csvfile을 보내야 하기 때문에 csvfile을 넣어주고 build메서드를 통해 Request 객체를 생성했습니다.

 

이후, 위에서 생성된 OKHttpClient 객체를 통해 execute 메서드를 사용하면 전송을 실행하게 됩니다.

정말 단순하게 파라미터만 넘겨도 파일이 전송이 되는 OKHttp 라이브러리는 직접 사용해보니 편하고 좋더라고요.

혹시 파일을 전송할 일이 있으신 분들은 사용하시면 좋을 것 같습니다~

 

수고하세요~!

반응형

+ Recent posts