Snažím sa to realizovať príklad, Prvá metóda v FileResource má vrátiť odpoveď json, ale odpoveď prichádza ako XML. Nikdy som nepoužil dres predtým. Skúšal (-a) som pridať @produkty, čím sa získa toto:
@GET @Produces("application/json")
@Path("/url")
public Response getCallbackUrl() {
String url = blobstoreService.createUploadUrl("/rest/file");
return Response.ok(new FileUrl(url)).build();
}
Teraz sa dostávam
A message body writer for Java class FileUrl, and Java type class FileUrl, and MIME media type application/json was not found
Ako to môžem opraviť? Ďakujeme za pomoc. A ak potrebujete ďalšie informácie, dajte mi vedieť. Neviem veľa o terminológii dresu.
odpovede:
1 pre odpoveď č. 1Na vytvorenie výstupu JSON potrebujete niekoľko ďalších závislostí.
Pozri sa na: http://jersey.java.net/nonav/documentation/latest/chapter_deps.html
Prejdite nadol na:
11.4.1.2. Moxy Maven vývojári pomocou JSON serializáciepodpora fazule JAXB pri použití média typu MIME application / json vyžaduje závislosť na module jersey-json (vyžaduje sa explicitná závislosť na org.eclipse.persistence.moxy).
Alternatíva k "vanilke" Jersey, o ktorú by ste mohli mať záujem Dropwizard, Ich blurb je:
Sprievodca Dropwizard má k dispozícii okamžitú podporusofistikovaná konfigurácia, aplikačné metriky, logovanie, operačné nástroje a mnoho ďalšieho, čo vám a vášmu tímu umožňuje v čo najkratšom čase dodávať webovú službu HTTP + JSON v kvalite produkcie.
0 pre odpoveď č. 2
Áno, budete potrebovať nejakú závislosť medzi dresom a jsonom:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.2</version>
</dependency>
samozrejme s vašou verziou dresu.