проверка xml: пробел =»сохранить» присутствует в запросе xml и включает xml: пробел =»сохранить» в ответе xml

#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;
}