Code Monkey home page Code Monkey logo

jrest's Issues

New Feature: Enable Dynamic invocation of APIs defined in service interface

Currently each API needs to be defined and called specifically for the execution
For example :-
In below service Interface
public interface MyApiInterface {
@REQUEST(endpoint = "/users/{user}/repos",type = HTTP_METHOD.GET)
APICall<Void,ApiResponse> listRepos(@PATH(value = "user") String user);
}

API needs to be called as below :-
MyApiInterface testInterface = testAPIHelper.createApi(MyApiInterface.class);
APICall<Void, Map<String,Object>> call = testInterface.listRepos("testUser");
APICall<Void,Map<String,Object>> response = call.callMeNow();

The New Implementation should be as below
MyApiInterface testInterface = testAPIHelper.createDynamicApi(MyApiInterface.class,"listRepos");
APICall<Void, Map<String,Object>> call = testInterface.dynamicAPIInvocation("testUser");
APICall<Void,Map<String,Object>> response = call.callMeNow();

Enhancement to introduce retry in JRest

Currently each requests needs to be retried manually by the developer .
Need to add an enhancement to add a retry mechanism to each request upon receiving any connectivity failures ( can be customisable)

Enhancement for adding query parameters

Currently Query can be set globally while building the API only . Need to enable query parameter in the API method as a parameter . It should be along the below lines
Call<List<User>> groupList(@Path("id") int groupId, @Query("sort") String sort);
and
Call<List<User>> groupList(@Path("id") int groupId, @QueryMap Map<String, String> options);

New Feature : Enabling caching on fetched data

Enable a caching feature for data fetched via JRest . Caching would be an optional feature and can be implemented either by memcache or Redis .
User would have the option to set the caching duration and frequency

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.