Comment envoyer de la valeur temps de Facteur pour mon api REST
J'ai une classe avec une variable de type Date, ce qui représente un temps
@Entity
public class Product implements Serializable {
private static final long serialVersionUID = -7181205262894478929L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int productId;
@NotNull()
private String productName;
@Temporal(TemporalType.DATE)
@DateTimeFormat(style = "yyyy-MM-dd")
@NotNull()
private Date date;
@Temporal(TemporalType.TIME)
@DateTimeFormat(style = "hh:mm")
@NotNull()
private Date time;
....
}
Je suis en train de méthodes CRUD sur le Facteur, et quand j'envoie
{
"productName": "nom",
"date": "2016-03-10",
"le temps": "10:29"
}
- Je obtenir
400 Bad Request
avec une description:
La requête envoyée par le client est syntaxiquement incorrect.
Quand j'ai essayer sans le temps, ça passe. S'il vous plaît aider
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à l'aide de Jackson, vous pouvez essayer les solutions suivantes:
1. En utilisant une mesure
JsonDeserializer
Définir une coutume
JsonDeserializer
:Puis il suffit d'annoter vos
time
attribut avec@JsonDeserialize
:2. À l'aide de la
@JsonFormat
annotationAlternativelly, vous pouvez essayer de le
@JsonFormat
annotation, au lieu de créer un personnaliséJsonDeserializer
:Une dernière chose
Est
hh:mm
le format que vous voulez vraiment?hh
signifie des heures dans 1-12 format toutHH
signifie des heures dans 0-23 format. Si vous allez pour les 1-12 format, vous pourriez envisager d'utiliser la AM/PM marqueur:hh:mm a
.Pour plus de détails, jetez un oeil à la
SimpleDateFormat
de la documentation.modifier cette
au lieu de
parce que vous essayez de l'analyser à la Chaîne de valeur
10:29
pas une représentation valide pour votretime
variable