Nigdzie tego nie znalazłem - czy mogę powiedzieć Play! że konkretna metoda kontrolera powinna być (tylko) dostępna za pośrednictwem HTTP POST?Czy mogę oznaczyć metodę kontrolera jako POST w Play przy użyciu adnotacji?
Coś jak HttpPost attribute w C# Asp.Net MVC?
public class MyController extends Controller {
@Post
public void addPerson(String name, String address) {
}
}
Aktualizacja - Nie rozumiem, co dodanie trasy POST zrobić:
- żądanie POST będzie działać bez dodawania taką trasę.
- Ponieważ metoda jest nadal przechwytywana przez regułę GET "Catch all", nawet dodanie trasy POST nie zapobiegnie żądaniom GET dla tej metody.
Musisz usunąć * catch all, jeśli chcesz, aby twoja metoda była dostępna tylko poprzez POST. To wszystko powinno zostać wykorzystane do rozwoju. Pomaga także dokładnie zobaczyć, co ujawniasz! – mericano1
@ mericano1 - catch all jest świetny do naśladowania idiomu Konwencja nad konfiguracją, nie sądzę, że jest to złe dla produkcji (w przeciwnym razie po prostu powielę listy kontrolerów/działań tam ... więcej konserwacji). Chyba przedłożę prośbę o funkcję. – ripper234
Wysłano zgłoszenie: https://play.lighthouseapp.com/projects/57987-play-framework/tickets/1260-ability-to-mark-controller-methods-as-post-by-annotation – ripper234