Korzystanie z jersey.java.net Jak ustawić JSON jako domyślną serializację zamiast XML, gdy nie ma nagłówka accept lub sufiks xml znajduje się w identyfikatorze URI?Jak ustawić domyślnie json zamiast xml w jersey?
Odpowiedz
Możesz przypisać indeks jakości do każdego rodzaju mediów w adnotacji @Produkcje. I.e.you można wykonać następujące czynności, aby Jersey preferują JSON i XML zarówno jeśli JSON jest dozwolony:
@Produces({"application/json;qs=1", "application/xml;qs=.5"})
Powinieneś być w stanie ustawić @Produces
adnotacji do określenia formatu powrotną tak:
@Produces({ "application/json" })
Jak to się stało nie akceptuje nagłówek?
Spowoduje to błąd 406, gdy zażąda XML. OP chce mieć możliwość zwracania XML i JSON, ale domyślnie JSON, jeśli żadna nie jest wymagana. – idontevenseethecode
masz na myśli @Consumes ({"application/json"}) –
Można określić preferencje pokolenia poprzez wyszczególnienie rodzajów mediów w kolejności preferencji w adnotacji @Produces.
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
W powyższym kodzie, ponieważ „application/json” jest na pierwszym miejscu, jeśli nie akceptują nagłówek jest określony we wniosku Jersey będzie domyślnie generowanie odpowiedzi JSON.
Użycie qs (zgodnie z sugestią Martina) powoduje, że preferencja jest bardziej wyraźna, ale jest nieco bardziej skomplikowana w zrozumieniu.
Wygląda na to, że nie działa w bieżącej wersji. Nie mogę mówić o starszych wersjach Jersey. Bez nagłówka "accept", nawet jeśli JSON jest pierwszym na liście Productions, nadal zwraca XML. Czy może być coś innego, co wpływa na to poza wersją Jersey? – FredArters
To jest po prostu niepoprawna informacja. Kolejność typów mediów w adnotacjach Produkcje nie ma absolutnie żadnego wpływu na domyślną odpowiedź. – Michael
Cóż, Oracle twierdzi, że zamówienie jest istotne: https://docs.oracle.com/cd/E19798-01/821-1841/6nmq2cp2c/index.html Myślę jednak, że jest to zależne od wdrożenia – Gui13
- 1. Jak ustawić cookie w Jersey?
- 2. Jak ustawić domyślnie MayaVi2 na Qt zamiast wx?
- 3. ASMX WebService - powrót JSON, zamiast XML
- 4. Jersey Zużywa XML post
- 5. Jak rejestrować odpowiedzi JSON w Dropwizard (Jersey)
- 6. video.js Jak ustawić domyślnie napisy?
- 7. Jak ustawić numery linii domyślnie w vim?
- 8. Jersey zużywają JSON na POST
- 9. Jersey/Jackson: jak złapać wyjątek mapowania json?
- 10. Jersey, jak wyświetlić listę obiektów JSON?
- 11. Usługa webowa zwracająca xml zamiast json w .net 4.0
- 12. Dlaczego żądania GET zwracają domyślnie JSON?
- 13. serwis internetowy jersey json utf-8 kodowanie
- 14. Zużywanie obiektu JSON w serwisie Jersey
- 15. Polimorfizm w JSON, Jersey i Jackson
- 16. Jersey. Jak wygenerować json i wyjściowe xml w zależności od url param
- 17. Przestrzeń nazw XML domyślnie/dziedziczenie
- 18. Jak ustawić domyślne ustawienie pokrętła zamiast jego wartości zamiast pozycji?
- 19. Jak spowodować XmlSerializer do generowania atrybutów zamiast elementów domyślnie
- 20. Jak wysłać plik XML za pomocą klienta REST w Jersey
- 21. Jak mogę domyślnie ustawić gt-pull verbose?
- 22. Wykorzystanie Jackson & Jettison w Jersey
- 23. Jak zlecić POST JSON do usługi REST Jersey?
- 24. Jak ustawić queryparams jako obowiązkowe w usługach REST Java Jersey?
- 25. Jak ustawić ikonę Instalatora pakietu Windows zamiast domyślnego w WiX
- 26. Dropwizard/Jersey: Uwierzytelnianie i parametr JSON
- 27. We właściwościach projektu Visual Studio, jak ustawić domyślnie opcję "Wszystkie konfiguracje" zamiast "Aktywna"
- 28. jak ustawić kolor tła w układzie xml?
- 29. Jak ustawić tło mojego kształtu w xml?
- 30. Edytor Xcode domyślnie - - (void) zamiast - (voidPtr)?
Więc w przypadku metody sieciowej, która umożliwia generowanie dwóch typów multimediów, w jaki sposób requester określa, który z nich chce? Czy odbywa się to poprzez parametr zapytania? W jaki sposób? –
Korzystanie z nagłówka żądania Accept. (http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#z3) –
Spot na. Dzięki! – FredArters