Я хочу изменить формат даты в json, который доставляется веб-службой java rest, потому что у json есть такие даты: 2019-05-23T06: 00: 00Z [UTC] , поэтому клиент путает [UTC] с массивом из-за '[' и ']'
im, использующего привязку данных glassfish 5, jax-rs, jackson 2.9.4.я пытался использовать @ JsonSerialize (используя = CustomXSerializer.class) в объекте модели и не работал, а также @ JsonFormat (shape = JsonFormat.Shape.STRING, pattern = "MM-dd-yyyy ", timezone =" CET ") в свойстве Date в объекте модели, но снова не работает, всегда отображается [UTC]
мой код:
package api;
import model.people;
import java.util.Date;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/helloworld")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class HelloWorldRest {
@GET
@Produces(MediaType.APPLICATION_JSON)
public people sayHello() {
people p=new people("pepe", "27",new Date());
return p;
}
}
объект модели:
public class people {
private String nombre;
private String edad;
@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="MM-dd-yyyy",timezone="CET")
public Date d;
public people(String pNombre,String pEdad,Date pD)
{ nombre=pNombre;
edad=pEdad;
d=pD;
}
.
.
//getters and setters
pom:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
</dependencies>
Есть ли способ изменить формат, если разделение Дата в одном месте для всех объектов модели?Я бы предпочел, чтобы вместо создания собственного сериализатора для каждого объекта модели, заранее спасибо