Does a RESTful web service (e.g. in a JAX-RS implementation) support both contract-first (top-down) approach and contract-last (bottom-up) approach?
Do RESTful web services support both contract-first and contract-last approaches?
6.7k views Asked by AudioBubble At
1
There are 1 answers
Related Questions in WEB-SERVICES
- Apache CXF is unable to handle duplicate localnames
- Why do we call all http services 'Web Api/Web Service'?
- Postman Webservice PHP Curl Code POST request giving forbidden error when run in local
- Migrate ASMX web method to WCF which accepts string array
- PKIX failed when using custom SSLcontext with custom keyStore and trustStore
- Problems in Validations via Web Service in a Vue 3 Application
- Maven plugin 100% compatible Java21 to generate stub classes from WSDL file and generate *.wsdl from java classes? A solution
- Kubernetes Ingress Port to Port route
- How to handle a multi thread tests calling a single thread web service in .Net Framework 4.6?
- oracle.dataaccess.dll keep showing up as reference after build of C# web service using Oracle MDAC
- Your thoughts on the suggested architecture for addressing the challenges and maintenance of third-party API implementation
- Issue with BizTalk register WCF-WSHttp adapter while calling web service
- Does PHP SoapClient creates XML to be sent to webservice end point, based on WSDL file, while using CURL the XML should be manually created?
- Invoice API in Authorize.net like Square
- Publish JAXWS Endpoint in the same port than Spring boot
Related Questions in REST
- Query parameter works fine with fastapi application when tested locally but not working when the FastAPI application is deployed on AWS lambda
- Add an http GET/POST entry point to a Django with channels websocket
- Difficulty creating a data pipeline with Fabric Datafactory using REST
- Flutter connection to a local api
- Accessing REST API Status Codes using Azure Data Factory Copy Activity (or similar)?
- Mass Resource deletion in REST
- why when I check endpoint /tasks, an error always appears "error : invalid token" even though I have entered the appropriate token that I got
- How to prevent users from creating custom client apps?
- How to create a REST API with .NET Framework?
- Efficiently Handling Large Number of API Calls with Delphi 10.4 and OmniThreadLibrary
- Put Request throwing 401 [no body] Unauthorized
- Converting img src data to octet-stream
- Implementing Email Verification and Notification System in a Full-Stack Application with React Frontend and Node Backend
- Micronaut - Add Controller from external library
- Moving Template or OVA to Datastore using vCenter API
Related Questions in CONTRACT-FIRST
- Contract-first Web Service, WCF, One-way operations with http status code response
- Contract First with OpenAPI Spring Boot and Page as return object
- How to generate server code from an OpenAPI Specification (OAS) in Django Rest Framework?
- Issue generating an Angular endpoint / Model with multipart/form-data
- Swagger Codegen basePath is being ignored
- What can replace Linq2Xsd?
- WCF Contract First - Creating a Service from a WSDL / Large Amount of XSDs
- Contract First vs Contract last in current generation
- WCF 4.5 contract-first not generating simple types "correctly"
- Generate WebService from WSDL in Spring, Maven (contract first)
- Contract First SOA and WCF Contracts
- CXF element reference
- How to generate WCF service with SvcUtil.exe
- Do RESTful web services support both contract-first and contract-last approaches?
- What is the entry point in a CXF generated web service?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
It depends on what tools/frameworks you use.
What you are talking about applies to a SOAP web service and its accompanying WSDL.
A WSDL describes what a web service expects as input and what should a client expect as output. It defines the contract to be followed in order for both parties to communicate with each other. You can obtain the WSDL by doing contract-first or contract-last and you can later use this WSDL to generate code for a client stub or a service skeleton.
But doing REST isn't the same as doing SOAP. Processes that worked for SOAP (a protocol) can't necessarily be applied to REST (an architectural style) just because we are familiar with them.
Unlike SOAP that exposes methods and method signatures, REST exposes resources. An understanding of the media types used in the exchange of those resources is all a REST client needs in order to communicate with a REST web service. There is no need for a separate document to describe the resources.
Because of the HATEOAS principle, REST clients are more dynamic and can adapt to other services that communicate using the same media types. Exposing static service description documents would be limiting for a REST service.
Having said that, there are REST tools that do expose a description document, for example Jersey who exposes a WADL (contract-last). I'm sure you can use the published WADL to build client stubs and I don't see a reason why you couldn't write the WADL by hand (contract-first) and use it to generate stubs and skeletons. But as I said, that might not be the best solution for REST.
Here are some posts you might want to read to form an opinion if contract-last or contract-first approaches make sense in REST: