Tôi biết từ Setting HTTP headers in Play 2.0 (scala)? rằng bạn có thể đặt tiêu đề phản hồi trên cơ sở từng trường hợp bằng cách thực hiện, ví dụ: Ok("hello").withHeaders(PRAGMA -> "no-cache")
.Chơi 2 - Đặt tiêu đề trên tất cả các câu trả lời?
Điều gì xảy ra nếu bạn muốn đặt tiêu đề đó hoặc một vài tiêu đề khác nhau, trên phản hồi từ tất cả các Tác vụ của bạn? Bạn sẽ không muốn lặp lại withHeaders
ở mọi nơi. Và vì điều này giống với cấu hình ứng dụng hơn, bạn có thể không muốn tác giả Hành động phải sử dụng cú pháp khác để lấy tiêu đề (ví dụ: OkWithHeaders(...)
)
Điều tôi bây giờ là lớp Bộ điều khiển cơ sở trông giống như
class ContextController extends Controller {
...
def Ok(h: Html) = Results.Ok(h).withHeaders(PRAGMA -> "no-cache")
}
nhưng điều đó không cảm thấy hoàn toàn đúng. Nó cảm thấy như có nên có nhiều hơn một cách phong cách AOP của việc xác định các tiêu đề mặc định và có họ thêm vào mỗi phản ứng.
Lưu ý rằng PRAGMA -> no-cache có thể sẽ không làm việc theo cách bạn dự định. Xem liên kết này: http://www.mnot.net/cache_docs/ Bạn có thể muốn sử dụng CACHE_CONTROL thay vì PRAGMA – andrewf
'CACHE_CONTROL ->" max-age = 0 "' nên làm điều đó. – andrewf