I have the following URI: /articles/:id, where article is a resource on web-service and have associated model/class. Now I need to return only partial data for each resource (to save bandwidth and make for speed) when collection is requested, but when a single item is requested from collection I need to send full data. My question is should I use two models/classes for the same resource on the server and initiate different one depending on collection or single resource is requested? Or maybe there is should be only one model/class but not all fields should be filled with data when a collection is requested? Or maybe there is another approach?
simple model when requesting collection and extended model when requesting resource - how
104 Views Asked by Max Koretskyi At
1
There are 1 best solutions below
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 ARCHITECTURE
- Where to store secret token for an embeddable web widget?
- Separation of Students and Users in NestJS Microservice architecture
- What's the right ZMQ architecture for my scenario?
- Javers in microservice architecture
- How to prevent users from creating custom client apps?
- How to manage different repositories for different clients with the same project?
- Adding users file storage feature to my application
- Transform Load pipeline for a logs system: Apache Airflow or Kafka Connect?
- Shoulld I decode JWT only on auth server?
- How to stored last ~1500 events in Sorted Set in Redis
- Should data be standardized on the backend or the client (front-end, mobile app)?
- Can I treat CNN channels separately to make placement predictions?
- How to handle sync distributed transaction in microservices?
- Database design, authentication and authorization in a microservices ticketing system
- Is there any example or design of a queue system in microservices?
Related Questions in RESTFUL-ARCHITECTURE
- RESTful API access sub-resource by type or id
- REST endpoint: how to proper design an action on a resource?
- Postman: set Environment Variable
- Create POST Request with Postman
- RESTFul API Design Suggestion for forgot password flow
- Resful APi ouput is changing from JSON to XML when we send BAD Request status as output
- Response.ok with metadata
- Call some different restful services from front-end
- Where to start learning SOAP Web Services (in java)?
- JAX-RS Same @Path Identifier in two Services
- Laravel Forwarding Route To Another Route File
- Resources for developing Android apps with databases
- Retrofit @Url doesnt override BaseUrl
- REST GET endpoints returning different models based on user role
- How to design a restful url for login?
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)
Popular # Hahtags
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?
I suggest using the approach suggested here with a
fieldsquery parameter.If the API is going to be open to everyone to use and client usage is going to be unpredictable, then by default you probably need to limit the fields that you return. Just make sure you document in some way all the possible fields that could be used, in case a client actually needs them.
If the API is going to be consumed only by an app or apps you made, then by default you could return all of the fields and then your app can pass that
fieldsparameter to speed things up.