Джерси: возврат ответа с картой, содержащей файлы изображений и значения JSON String - PullRequest
1 голос
/ 07 июня 2011

Я использую Джерси JAX-RS. Я хочу вернуть ответ с картой, содержащей файлы изображений и значения JSON String.

Это правильный способ сделать это:

Map<String,Object> map = new HashMap........


GenericEntity entity = new GenericEntity<Map<String,Object>>(map) {};

return Response.ok(entity).build();

Или это лучше. Я планирую использовать JAX-RS только с Джерси.

JResponse.ok(map).build();

Я основываюсь на этой статье:

http://aruld.info/handling-generified-collections-in-jersey-jax-rs/

Я не уверен, что также указать для @Produces (планирую не указывать).

ТИА

Виджей

1 Ответ

2 голосов
/ 10 июня 2011

Вам лучше составить многочастный ответ:

import static com.sun.jersey.multipart.MultiPartMediaTypes.MULTIPART_MIXED_TYPE;
import static javax.ws.rs.core.MediaType.APPLICATION_XML_TYPE

@GET 
@Produces(MULTIPART_MIXED_TYPE) 
public Response get() 
{ 
  FileDataSource image = ... (gets the image file) 
  String info = ... (gets the xml structured information) 

  MultiPart multiPart = new MultiPart(). 
  bodyPart(new BodyPart(info, APPLICATION_XML_TYPE)). 
  bodyPart(new BodyPart(image, new MediaType("image", "png"))); 

  return Response.ok(multiPart, MULTIPART_MIXED_TYPE).build(); 
}

Этот пример был взят оттуда .

...