#java #spring-boot
#java #весенняя загрузка
Вопрос:
У меня есть API, написанный на java / spring-boot, который использует json и xml-запрос и выдает json и xml-ответ. В xml-запросе есть xml:space=»сохранить» в определенном необязательном элементе xml. Как я могу проверить, присутствует ли xml: пробел =»сохранить» в определенном необязательном элементе XML? Кроме того, как я могу включить xml:space=»сохранить» в конкретный элемент xml в ответе?
Пример запроса XML:
<searchStylingPartRequest>
<stylingPart>
<stylingCategory>EXT</stylingCategory>
<stylingPartName xml:space="preserve">EXT BODY*</stylingPartName>
</stylingPart>
</searchStylingPartRequest>
Пример ответа XML:
<searchStylingPartResponse>
<stylingPart>
<stylingPartID>294</stylingPartID>
<stylingCategory>EXT</stylingCategory>
<stylingPartName xml:space="preserve">EXT BODY (OUTSIDE)</stylingPartName>
<stylingPartComment xml:space="preserve">This Styling Part was created
by HGW user.</stylingPartComment>
</stylingPart>
</searchStylingPartResponse>
Вот мой RequestDto и responseDto с аннотациями для json и xml.
RequestDto:
@Getter
@ToString
@EqualsAndHashCode
@Builder
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor
@JsonTypeName("stylingPart")
public class StylingPartDto {
@Length(max = 27, message = "String length is over the definition.")
@JsonProperty("stylingCategory")
@XmlElement(name = "stylingCategory")
private String stylingCategory;
@Length(max = 90, message = "String length is over the definition.")
@JsonProperty("stylingPartName")
@XmlElement(name = "stylingPartName")
private String stylingPartName;
}
ResponseDto:
@Data
@NoArgsConstructor
@AllArgsConstructor
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "stylingPart")
public class SearchStylingPartResponseDto {
@JsonProperty("stylingPartID")
@XmlElement(name = "stylingPartID")
private int stylingPartId;
@JsonProperty("stylingCategory")
@XmlElement(name = "stylingCategory")
private String stylingCategory;
@JsonProperty("stylingPartName")
@XmlElement(name = "stylingPartName")
private String stylingPartName;
@JsonProperty("stylingPartComment")
@XmlElement(name = "stylingPartComment")
private String stylingPartComment;
}