Pull to refresh
Comments 10
D конечно имеет некоторые проблемы, но в целом — отличный язык. После C++ это просто как глоток свежего воздуха.
Спасибо! Как раз начал изучать vibe.d. Пригодится сегодня или завтра.
В данном примере путь http://127.0.0.1:8080/triangle_area_by_points, но можно корректировать путь к самой модели с помощью UDA @path("pathtorest"), которым нужно пометить сам интерфейс, тогда путь будет http://127.0.0.1:8080/pathtorest/triangle_area_by_points. Сам запрос ничего особенного не несёт в себе: метод, url, тело и тд. В заголовке ещё выставляется Content-Type: application/json. Все данные туда и обратно в json формате передаются.
Тут имя метода содержится в url, в JSON-RPC имя передаётся в теле передаваемого json объекта, как я понял.
Нету ли там чего-нибудь для авторизации/аутентификации? Или предполагаются внешние средства для этого?
Как я понял, формат rest взаимодействия не подразумевает сохранение состояния, в частности авторизации и/или аутентификации. Что, впрочем, и реализуется всеми известными мне api (yandex, google, vk): есть oauth, который производит авторизацию/аутентификацию и отдаёт токен, далее этот токен используется в каждом запросе к api.
Опять я :)
Ещё вопрос: попытался число типа double передать этим клиентом. Число равно 123.456789.

Клиент генерирует запрос:

GET /echo_float8?value_for_echo=123.457 HTTP/1.1


Это такая багофича для совместимости с чем-то? Примерно два года назад натыкался на такой баг в браузерном плагине-клиенте для JSON-RPC запросов.

Хм… У меня нет предположений, почему так происходит. В клиенте функция toRestString возвращает (в данной реализации vibe) само переданное значение без изменений. Для меня веб свежая тема пока и, наверное, с такими вопросами (про стандарты и их неправильные реализации) стоит обращаться к более опытным людям)
Но мне придётся столкнуться с передачей чисел с плавающей точкой и огромное спасибо, что Вы обратили моё внимание на такой момент сейчас (меньше волос вырву при отладке). В любом случае разбираться придётся и если никто меня не опередит, то отвечу на этот вопрос тут.

Only those users with full accounts are able to leave comments. Log in, please.