Jersey RESTful 웹 서비스에서 추가 데이터와 함께 파일 업로드
단일 REST 호출로 다른 객체 데이터와 함께 파일을 업로드하려면 다음을 수정하세요. uploadFileWithData 메소드는 다음과 같습니다:
@POST @Path("/upload2") @Consumes({MediaType.MULTIPART_FORM_DATA, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public Response uploadFileWithData( @FormDataParam("file") InputStream fileInputStream, @FormDataParam("file") FormDataContentDisposition contentDispositionHeader, @FormDataParam("emp") String employeeJson) { // Deserialize the employee data from JSON JacksonJsonProvider provider = new JacksonJsonProvider(); Employee emp = provider.readFrom(Employee.class, employeeJson); // ...business logic... }
키 요점:
Postman 문제 해결:
Postman은 개별 본문 부분에 대해 Content-Type을 자동으로 설정하지 않을 수 있습니다. 이 문제를 해결하려면:
대안 해결 방법:
또는 REST 메서드에서 명시적으로 Content-Type을 설정할 수 있습니다.
@POST @Path("/upload2") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFileAndJSON( @FormDataParam("emp") FormDataBodyPart jsonPart, @FormDataParam("file") FormDataBodyPart bodyPart) { jsonPart.setMediaType(MediaType.APPLICATION_JSON_TYPE); Employee emp = jsonPart.getValueAs(Employee.class); // ...business logic... }
참고:
HttpUrlConnection이 아닌 다른 커넥터를 사용하는 경우 관련 댓글에서 설명한 문제가 발생할 수 있습니다.
위 내용은 Jersey RESTful 웹 서비스에서 추가 JSON 데이터가 포함된 파일을 업로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!