私はgradleプロジェクトを持っています。私はバックエンドとフロントエンドの角2に対してスプリングブートを使用しています。 追加または削除後にget-Requestを実行するたびに、IE getメソッドは呼び出されません。彼はキャッシュから配列を取ります。春の起動時のキャッシュを防ぐ方法
私はすでにソリューションクライアント側を見つけました。私はヘッダーを入れました:
'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate',
'Pragma': 'no-cache',
'Expires': '0'
私の要求で。そして、それは動作します。
しかし、私はこの問題のサーバー側を解決しようとしました。私はインターネットで、あなたが追加するだけでキャッシングを防ぐことができることがわかった。あなたのapplication.propertiesには、
spring.cache.type=NONE
があります。しかし、これは動作していません。
私は他のものを忘れましたか?
アプリケーション:
@SpringBootApplication
public class MyApplicationextends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MyApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
UIController:
@RequestMapping("/service")
public interface MyUIController {
@RequestMapping(method=RequestMethod.GET, value= "/getBooks", produces="application/json")
public List<Books> getBooks(HttpServletRequest request, HttpServletResponse response);
}
RestController:
@RestController
public class MyRestController implements MyUIController {
public List<DomainEntity> getDomains(HttpServletRequest request, HttpServletResponse response) {
return myUIService.getBookss(request, response);
サービス:
@Service
public class MyUIService {
public List<Books> getBooks(HttpServletRequest request, HttpServletResponse response) {
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAccept(Collections.singletonList(new MediaType("application","json")));
HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
ResponseEntity<List<Books>> responseEntity = restTemplate.exchange(
UriComponentsBuilder.fromHttpUrl(url).build().encode().toUri(),
HttpMethod.GET,
requestEntity,
new ParameterizedTypeReference<List<Books>>(){});
return responseEntity.getBody();
}
'spring.cache.type'はスプリングキャッシングをサポートしています。それはあなたが後になっているキャッシングヘッダーとは関係がありません... –
別の方法がありますか?値noneはそれから何を意味しますか?私はここでこれを読んだ:http://stackoverflow.com/questions/35917159/spring-boot-how-to-disable-cachable-during-development。実際にはこれはあなたの投稿です) – trap
言い換えれば、Springキャッシュのためには、ヘッダをキャッシュしません。 –