2016-08-15 3 views
0

Я использую Localhost: 8080/_ah/API/исследователь Google исследовать: Я получаюJava Blobstore и Google SPI AppEngine конечная точка

{ 
"error": { 
    "message": "com.google.appengine.repackaged.org.codehaus.jackson.map.JsonMappingException: Can not construct instance of javax.servlet.http.HttpServletResponse, problem: abstract types can only be instantiated with additional type information\n at [Source: N/A; line: -1, column: -1]", 
    "code": 400, 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "badRequest", 
    "message": "com.google.appengine.repackaged.org.codehaus.jackson.map.JsonMappingException: Can not construct instance of javax.servlet.http.HttpServletResponse, problem: abstract types can only be instantiated with additional type information\n at [Source: N/A; line: -1, column: -1]" 
    } 
    ] 
} 

мой Google SPI код является:

@ApiMethod(name = "findBillImage", httpMethod = ApiMethod.HttpMethod.GET) 
public void findImage(HttpServletResponse httpServletResponse , @Named("blobkey") String blobKeyValue) throws IOException { 
    BlobKey blobKey = new BlobKey(blobKeyValue); 
    BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();   
    blobstoreService.serve(blobKey, httpServletResponse);  
} 

в любое время Я пытаюсь написать что-нибудь в HttpServletResponse. Я получаю эту ошибку .. im потерял почему я не могу написать httpServletResponse

ответ

0

Soooo .. a swer - это действительно «дизайн» в моем случае.

Поскольку я реализую «REST» с движком google-приложений ... Я не должен изменять HttpResponse, чтобы вернуть «изображение».

так что «подача» изображения обратно в HttpResponse не идеальна. я должен выставить изображение непосредственно с URL хранения для клиентов .:

https://storage.cloud.google.com/myapp.appspot.com/20160603_154924.jpg 

не могу сказать, что я на 100% ", как этот ответ, но от того, что я читаю я считаю, что это правильно.