안드로이드 모바일에서 retrofit2을 이용하여 상품 검출을 이용하고자 비전 API를 사용하고 있습니다.
한가지 원인을 찾지 못해서 도움을 부탁드립니다
request body를 생성할때 이미지 파일의 media type을 "multipart/form-data"으로 하면 500 error가 전달 됩니다.
하지만 "form-data"로 생성하면 200으로 정상동작 하지만 Response에 검출된 상품이 없습니다. 같은 이미지로 Postmap 툴로 테스트 하면 상품 검출이 잘되는 것을 확인했습니다. 분명 제가 body를 잘못 만들어서 난 문제인데. 무엇이 문제인지 감이 오늘 않아서 이렇게 문의 드립니다.
body 만드는 코드:
val requestFile = RequestBody.create(
“form-data”.toMediaTypeOrNull(), this.imageFile!!
)
val body = MultipartBody.Part.createFormData(
“image”, this.imageFile!!.name, requestFile
)
post api
interface PostImageDetectApi {
@POST("/v2/vision/product/detect")
@Multipart
fun postDetect(
@Header(“Authorization”) authorization:String,
@Part image: MultipartBody.Part
): Single
}