Кажется, что одновременный вызов одной и той же конечной точки из того же сеанса вызывает некоторую проблему на стороне Play.Одновременный запрос к той же конечной точке из того же сеанса создает проблему в Play
Хотя запросы имеют разные параметры, эти параметры иногда копируются (кэшируются?) Из предыдущего запроса.
вот как настроить тест, чтобы воспроизвести это:
маршруты:
GET /api/test @com.standup75.TestController.test(test: String ?= null)
GET /api/testPage @com.standup75.TestController.testPage()
TestController.java
....
public Result test(String test) {
return ok("test = " + test);
}
public Result testPage() {
return ok(views.test.render());
}
test.html.scala
@()
<h1>Test page</h1>
<ul id="log"></ul>
<script src="//code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
$(function(){
var $ul = $("#log");
for (var i = 0; i < 20; i++) {
(function(i){
var url = "/api/test?test="+i;
$.ajax({
url: url,
dataType: 'html',
success: function(res){
$ul.append("<li>url: " + url + " - result: " + res + "</li>");
}
});
})(i)
}
});
</script>
И вот сюрприз петь выход этого, когда я иду в/API/тестовую страницу:
Test page
url: /api/test?test=3 - result: test = 4
url: /api/test?test=5 - result: test = 2
url: /api/test?test=0 - result: test = 2
url: /api/test?test=1 - result: test = 4
url: /api/test?test=4 - result: test = 4
url: /api/test?test=2 - result: test = 3
url: /api/test?test=7 - result: test = 6
url: /api/test?test=8 - result: test = 8
url: /api/test?test=6 - result: test = 6
url: /api/test?test=9 - result: test = 10
url: /api/test?test=10 - result: test = 10
url: /api/test?test=11 - result: test = 11
url: /api/test?test=13 - result: test = 13
url: /api/test?test=14 - result: test = 14
url: /api/test?test=12 - result: test = 12
url: /api/test?test=17 - result: test = 16
url: /api/test?test=15 - result: test = 16
url: /api/test?test=16 - result: test = 16
url: /api/test?test=18 - result: test = 19
url: /api/test?test=19 - result: test = 19
Испытание значения в результате не всегда такой же, как тест пары, который не имеет смысла для меня?