В моем проекте Yesod у меня есть следующий маршрут:
/api/hide/thread/#Text/#Int ApiHideThreadR GET
Я хочу запросить его на стороне клиента с помощью javascript:
function hideThreadCompletely(threadId, board) {
$.getJSON("/api/hide/thread/"+board+"/"+threadId, function(data) {
$('#thread-'+threadId).hide();
});
}
Но я не могу использовать @{ApiHideTHreadR}
, потому что Yesod требует его аргументов во время компиляции. Какое правильное решение для этого, если я хочу, чтобы URL-адреса API выглядели как api/board/1/1
, а не api/board?bid=1&tid=1
? Продолжайте использовать указанный вручную URL-адрес, например "/api/hide/thread/"+board+"/"+threadId
?