0
私はスプリングブートを使用しています。 すべての応答のヘッダーにフィールドを追加します。そう、私は迎撃器を使用しています。スプリングブートのインターセプタを使用してヘッダにさらにフィールドを追加してください。
@Component
public class ApiVersionInterceptor extends HandlerInterceptorAdapter{
private final Logger log = LoggerFactory.getLogger(ApiVersionInterceptor.class);
@Autowired
private Environment environment;
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
Object handler, Exception arg3) throws Exception {
String apiVersion = environment.getProperty(ApiVersion.VERSION_KEY.getKey());
log.debug("api-version:"+apiVersion);
response.addHeader("Api-Version", apiVersion);
}
}
と設定は次のとおりです:コードがある
@Configuration
public class InterceptorsConfiguration extends WebMvcConfigurerAdapter {
@Autowired
private ApiVersionInterceptor apiVersionInterceptor;
/**
* Add interceptor
*/
@Override
public void addInterceptors(final InterceptorRegistry registry) {
//Add api-version field to header of response
registry.addInterceptor(apiVersionInterceptor);
}
}
が原因で実行され、これはコードを切り取ら確認するには:
2017-12-06 02:35:10,392 DEBUG [] [http-nio-8080-exec-7] ApiVersionInterceptor: api-version:1.9.0
しかし、私は、私ドンを理解していません応答のヘッダーにこのフィールドが表示されません。
更新
私のアプリは、RESTfulなWebサービスを使用するので、ビューの位相を持っていません。
ありがとうございました。
私は 'prehandle()'または 'postHandle()'を使用しています。何も起こらない。 –
小さなデモを作成し、restClientによってチェックされていると、スクリーンショットへのリンク[ScreenShot](http://prntscr.com/hjq9lj)があります。それはあなたのためにうまくいかなかったのはなぜか、奇妙です。必要ならば私はこのデモをgitにプッシュすることができます、ちょうどコメント。 – borino
ありがとうございました。私は小さなプロジェクトを作り直してみましょう。それは私の会社のプロジェクトなので、私はプロジェクトをプッシュできません。 –