postman 에서 byte배열 전송하는 방법

byte배열을 수신하는 api를 만들었는데 이를 테스트 해보고 싶을때 postman을 이용해서 byte배열을 전송하는 방법을 씁니다.


postman에서 byte배열 전송을 위해 파일생성

우선 api로 넘길 body 전문을 byte배열을 넣을 수 없으니 파일로 만듭니다.
String 문자열을 byte[] 로 변환하여 Files.write(Paths.get(“sample”), byteArray변수) 로 확장자 없는 파일을 만들어줍니다.


postman에서 파일첨부하여 전송

postman에서 새 Request를 생성해줍니다.

테스트할 api url을 해당 Request에 넣어주고,

Headers탭에서 Key를 Content-Type 항목을 추가하고 Value를 application/octet-stream 로 지정해줍니다.

postman에서 byte배열 전송을 위해 Header에 속성추가

Body에서 binary를 선택하고 Select file 칸을 눌러서 좀전에 만든 확자자 없는 sample 파일을 첨부해줍니다.

Send를 누르면 테스트 하려는 api에서 HttpServletRequest 으로 수신하여 첨부된 byte[] 를 추출할 수 있다.

postman Body에 binary파일 추가


수신 byte배열 추출소스

	          InputStream in = req.getInputStream();
            ByteArrayOutputStream buffer = new ByteArrayOutputStream();

            int nRead;
            byte[] data = new byte[1024];
            while ((nRead = in.read(data, 0, data.length)) != -1) {
                buffer.write(data, 0, nRead);
            }

            buffer.flush();
            byte[] byteArray = buffer.toByteArray();