/ / Playframework 2.2 Java nicht modifiziert - Java, Scala, playframework-2.2

Playframework 2.2 Java nicht modifiziert - Java, Scala, playframework-2.2

Ich benutze playframework 2.2.0 mit Java. Wie kann ich "Not Modified" von meinen Controlleraktionen zurückgeben?

In der Controller-SuperClass gibt es mehrere Methoden: ok (), noContent () usw., aber nicht notModified ().

Beim Betrachten des Quellcodes für das Spiel kann ich sehen:

val NotModified = SimpleResult(header = ResponseHeader(NOT_MODIFIED), body = Enumerator.empty,
connection = HttpConnection.KeepAlive)

in play.api.mvc.Results. Aber wie kann ich ein SimpleResult in etwas einfügen, das vom Java-Controller zurückgegeben werden kann?

Die Methode möchte ein Ergebnis zurückgeben:

public interface Result {
scala.concurrent.Future<play.api.mvc.SimpleResult> getWrappedResult();
}

aber ich weiß nicht, wie man aus Java eine Zukunft generiert (Ich habe es mit scala.concurrent.Future $ .MODULE $ ... versucht, aber es ist für meinen Java-Code nicht sichtbar)

Antworten:

1 für die Antwort № 1

Anstelle von etwas wie ok (), versuche dies:

return status(304, "Content not modified, dude.");

Referenz: http://www.playframework.com/documentation/2.2.0/JavaActions

Es sieht aus wie play.api.mvc.Ergebnisse, in der Scala API, hat tatsächlich einen NotModified Generator, aber die Java API nicht. Sie können nichts von der Scala-API verwenden, wenn Sie mit der Java-API arbeiten. Sieht so aus, als wäre die Java-API das ungeliebte Kind von Play Framework.

Zusammengefasst ist das Zurückgeben des Status 304 viel einfacher, als zu versuchen, Komponenten aus der Play Scala-API zu ziehen und sie aus Java zu verwenden. HTTP-Antwortcode 304 = Inhalt nicht geändert.

Sehen Sie die Liste der Codes hier: http://www.w3.org/Protocols/HTTP/HTRESP.html