Class EncryptionResponseBodyAdvice

  • All Implemented Interfaces:
    org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<java.lang.Object>

    @ControllerAdvice
    public class EncryptionResponseBodyAdvice
    extends java.lang.Object
    implements org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<java.lang.Object>
    Controller advice used for encryption of responses of REST endpoints.
    Author:
    Roman Strobl, roman.strobl@wultra.com
    • Constructor Summary

      Constructors 
      Constructor Description
      EncryptionResponseBodyAdvice​(org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter requestMappingHandlerAdapter)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object beforeBodyWrite​(java.lang.Object response, org.springframework.core.MethodParameter methodParameter, org.springframework.http.MediaType mediaType, java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass, org.springframework.http.server.ServerHttpRequest serverHttpRequest, org.springframework.http.server.ServerHttpResponse serverHttpResponse)
      Encrypt response before writing body.
      boolean supports​(org.springframework.core.MethodParameter methodParameter, java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass)
      Whether method supports encryption.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EncryptionResponseBodyAdvice

        @Autowired
        public EncryptionResponseBodyAdvice​(org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter requestMappingHandlerAdapter)
    • Method Detail

      • supports

        public boolean supports​(@NonNull
                                org.springframework.core.MethodParameter methodParameter,
                                @NonNull
                                java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass)
        Whether method supports encryption. Standard implementation supports conversion to JSON, String or byte[].
        Specified by:
        supports in interface org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<java.lang.Object>
        Parameters:
        methodParameter - Method parameter.
        converterClass - Chosen HTTP message converter class.
        Returns:
        Whether method supports encryption.
      • beforeBodyWrite

        public java.lang.Object beforeBodyWrite​(java.lang.Object response,
                                                @NonNull
                                                org.springframework.core.MethodParameter methodParameter,
                                                @NonNull
                                                org.springframework.http.MediaType mediaType,
                                                @NonNull
                                                java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass,
                                                @NonNull
                                                org.springframework.http.server.ServerHttpRequest serverHttpRequest,
                                                @NonNull
                                                org.springframework.http.server.ServerHttpResponse serverHttpResponse)
        Encrypt response before writing body.
        Specified by:
        beforeBodyWrite in interface org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<java.lang.Object>
        Parameters:
        response - Response object.
        methodParameter - Method parameter.
        mediaType - Selected HTTP response media type.
        converterClass - Selected HTTP message converter class.
        serverHttpRequest - HTTP request.
        serverHttpResponse - HTTP response.
        Returns:
        ECIES cryptogram.