具有 Web、业务和持久层的 Spring 应用程序。
控制器接受请求中的 xml 作为输入,使用 jaxb 解析它们并将它们传递给业务层。
控制器如下所示:
@RequestMapping(value = "/user", method = RequestMethod.POST,
consumes = {"application/xml"}, produces = {"application/xml"})
public String add(@RequestBody User user, (value = "id", required = false) String id) {
String result = service.add(users, id);
return result;
}
jaxb 实体:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@XmlRootElement(name = "User")
@XmlAccessorType(XmlAccessType.FIELD)
public class User implements Serializable {
@XmlElement(name = "Id")
@Size(max = 25)
private String id;
@XmlElement(name = "idAuthor")
@Size(max = 50)
private String idAuthor;
@XmlElementWrapper(name="Comments")
@XmlElement(name = "comment")
private String comment;
}
但是,当不仅将文本发送到评论字段,而且还包含一个 & 符号时,我会收到一个验证错误。
&,以及<>各种引号——xml的无效字符,你需要使用&<>