7

HttpResponse を編集してヘッダー値を追加する必要があります。私はそれを実装するための単一のポイントを探していましたが、それResponseBodyadviceが役立つことがわかりました。

しかし、私の新しいクラスでオーバーライドされた両方のメソッドは呼び出されませんでした。設定を見逃していないか教えてください。

@ControllerAdvice
public class EditResponseHeader implements ResponseBodyAdvice<object> {


@Override
public boolean supports(MethodParameter returnType,
        Class<? extends HttpMessageConverter<?>> converterType) {

   return true;
}

....

@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType,
        MediaType selectedContentType,
        Class<? extends HttpMessageConverter<?>> selectedConverterType,
        ServerHttpRequest request, ServerHttpResponse response) {

    ....

    return body;
}

}
4

1 に答える 1

1

どうですか :

@Override
@ExceptionHandler(Exception.class)
public Response<?> beforeBodyWrite(Response<?> body, MethodParameter returnType,
                                   MediaType selectedContentType,
                                   Class<? extends HttpMessageConverter<?>> selectedConverterType,
                                   ServerHttpRequest request, ServerHttpResponse response) {

                ....

    return body;
}
于 2016-07-23T15:30:25.327 に答える