Как иметь разные форматы даты в xml и json - PullRequest
0 голосов
/ 28 мая 2020

Поведение JAXB по умолчанию для типов даты приводит к тому, что формат даты выглядит как «2020-02-10 + 09: 00» для xml вывода и времени эпохи в миллисекундах для json вывода: 1581260400000. Я хочу, чтобы формат даты не чтобы включить часовой пояс в формате xml, поэтому я использовал адаптер xml:

 public class MyDateAdapter extends XmlAdapter<String, Date> {

@Override
public String marshal(Date date) {
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    df.setTimeZone(TimeZone.getTimeZone("JST"));
    return df.format(date);
}}

и аннотировал поле:

@XmlJavaTypeAdapter(value=MyDateAdapter.class)
@XmlSchemaType(name = "date")
protected Date releaseDate;

Но это приводит к тому, что вывод json также иметь формат даты как "гггг-ММ-дд". Как я могу иметь разные форматы даты для xml и json?

Изменить: чтобы добавить некоторый контекст, это веб-приложение, использующее jaxb и jersey, и, получив вывод json, я имею в виду, когда я меняю заголовок accept для application / json и application / xml для xml.

...