Метод сервера php json rpc может быть нулевым?

В соответствии со спецификациями JSON-RPC 2.0 (http://www.jsonrpc.org/specification) запрос параметр метода должен быть строкой. Будет ли допустимым поведение при использовании перезаписи .htaccess для передачи функции и/или класса в URL-адресе и оставления параметра метода нулевым? Цель службы будет содержать функцию и/или класс, например http://domain.com/rpc/server/class/method? который будет переписан в параметр GET с методом name.

Будет ли это иметь смысл? Я не нашел действительно хорошего примера того, как работать с методами класса в запросах JSON-RPC - сейчас они передаются как «метод»: «class.method», так как это кажется наиболее подходящим способом сделать это, я считаю .

Я спрашиваю это, потому что я пишу свой собственный сервер...


person setcookie    schedule 25.02.2013    source источник


Ответы (1)


Это не очень хорошая идея, на мой взгляд. Преимущество JSON-RPC заключается в том, что он не зависит от транспорта, поэтому вы можете использовать одни и те же сообщения независимо от того, используете ли вы сокеты UNIX, работаете в одном процессе или работаете поверх HTTP. Ваше предложение устраняет это преимущество, полагаясь на URI для предоставления метода, поэтому ваша реализация работает только в том случае, если вы используете HTTP. Запросы GET с параметрами, закодированными в URL, несколько неудобны для JSON-RPC; Я думаю, что лучше хранить все в POST-запросах.

Тем не менее, это ваш собственный сервер, поэтому вы можете делать все, что имеет смысл в вашем случае использования, но если вам когда-либо понадобятся основанные на стандартах клиенты для взаимодействия, лучше оставаться как можно ближе к стандарту.

Для методов класса "method" : "class.method" это то, что всегда имело для меня смысл.

person Jacinda    schedule 23.05.2013