Class EncryptionResponseBodyAdvice
java.lang.Object
io.getlime.security.powerauth.rest.api.spring.filter.EncryptionResponseBodyAdvice
- All Implemented Interfaces:
org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>
@ControllerAdvice public class EncryptionResponseBodyAdvice extends Object implements org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>
Controller advice used for encryption of responses of REST endpoints.
- Author:
- Roman Strobl, roman.strobl@wultra.com
-
Constructor Summary
Constructors Constructor Description EncryptionResponseBodyAdvice() -
Method Summary
Modifier and Type Method Description ObjectbeforeBodyWrite(Object response, org.springframework.core.MethodParameter methodParameter, org.springframework.http.MediaType mediaType, 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.voidsetRequestMappingHandlerAdapter(org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter requestMappingHandlerAdapter)Set request mapping handler adapter via setter injection.booleansupports(org.springframework.core.MethodParameter methodParameter, Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass)Whether method supports encryption.
-
Constructor Details
-
EncryptionResponseBodyAdvice
public EncryptionResponseBodyAdvice()
-
-
Method Details
-
setRequestMappingHandlerAdapter
@Autowired public void setRequestMappingHandlerAdapter(org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter requestMappingHandlerAdapter)Set request mapping handler adapter via setter injection. Note: Autowiring in constructor cannot be used due to circular dependency.- Parameters:
requestMappingHandlerAdapter- Request mapping handler adapter.
-
supports
public boolean supports(@NonNull org.springframework.core.MethodParameter methodParameter, @NonNull Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass)Whether method supports encryption. Standard implementation supports conversion to JSON, String or byte[].- Specified by:
supportsin interfaceorg.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>- Parameters:
methodParameter- Method parameter.converterClass- Chosen HTTP message converter class.- Returns:
- Whether method supports encryption.
-
beforeBodyWrite
public Object beforeBodyWrite(Object response, @NonNull org.springframework.core.MethodParameter methodParameter, @NonNull org.springframework.http.MediaType mediaType, @NonNull 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:
beforeBodyWritein interfaceorg.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<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.
-