Почему у REST нет WSDL, в отличие от SOAP

Для веб-служб SOAP существует спецификация, которой должны следовать все запросы/ответы. Эта спецификация представлена ​​в виде документа WSDL. Однако для веб-служб REST, почему нет такой спецификации или WSDL? Означает ли это, что REST более уязвим для исключений во время выполнения, потому что мы не соблюдаем никаких спецификаций?

Ответы

Ответ 1

REST действительно использует только HTTP-глаголы (GET, PUT, POST, DELETE,...) на ресурсе. Предполагается, что все операции над ресурсом будут представлены таким образом. POST используется как уловка для всех, когда вы не можете выразить свою бизнес-логику таким образом, чтобы она соответствовала трем другим. Вот почему WSDL не используется для службы REST, так как у вас только 4 метода на ресурсе.

Но у вас все еще есть возможность описать веб-службу REST с WSDL 2.0.

Ответ 3

SOAP - это протокол.
REST - это архитектура.

Во многих ссылках вы увидите, как REST и SOAP упоминаются как конкуренты. Это неправда. SOAP - фактически протокол, а не стиль архитектуры. То, что REST можно сравнить с SOA и RPC. Все три являются примерами стилей веб-сервиса, каждый со своими собственными концептуальный фокус. RPC ориентирован на операции, SOA вокруг сообщений и REST вокруг ресурсов. (ref)

Итак, для SOAP написано стандарты документа WSDL. Но для REST нет стандартного документа, но есть много лучших практик, как http://jsonapi.org