Spring 4.2:CacheControl不允许no-store和no-cache标头

时间:2015-12-07 09:17:35

标签: spring spring-web

我们正在将项目从spring-web 4.1.8迁移到4.2.3并需要替换已弃用的代码

WebContentInterceptor interceptor = new WebContentInterceptor();
interceptor.setCacheSeconds(0);
interceptor.setUseExpiresHeader(true);
interceptor.setUseCacheControlHeader(true);
interceptor.setUseCacheControlNoStore(true);

使用新的CacheControlinterceptor.setCacheControl(cacheControl)

但是使用CacheControl的新API,您无法一起使用noStore()noCache(),因为这些方法会返回新的CacheControl并且不会更新现有的Cache-Control的。

任何想法,为什么会出现这种情况以及如何使用新API将no-store, no-cache标头设置为ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); require_once 'google-api-php-client/vendor/autoload.php'; //$p12FilePath = '/path/to/key.p12'; $serviceClientId = '395545742105.apps.googleusercontent.com'; $serviceAccountName = '395545742105@developer.gserviceaccount.com'; $scopes = array( 'https://www.googleapis.com/auth/analytics.readonly' ); $googleAssertionCredentials = new Google_Auth_AssertionCredentials( $serviceAccountName, $scopes ); // <- Fatal error here $client = new Google_Client(); $client->setAssertionCredentials($googleAssertionCredentials); $client->setClientId($serviceClientId); $client->setApplicationName("Project"); $analytics = new Google_Service_Analytics($client);

0 个答案:

没有答案