{"id":27890271,"url":"https://github.com/tibcosoftware/justapis-java-sdk","last_synced_at":"2025-05-05T10:46:19.729Z","repository":{"id":39961583,"uuid":"47424074","full_name":"TIBCOSoftware/justapis-java-sdk","owner":"TIBCOSoftware","description":null,"archived":false,"fork":false,"pushed_at":"2023-04-14T17:07:55.000Z","size":124,"stargazers_count":1,"open_issues_count":9,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-14T07:46:00.502Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TIBCOSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-04T19:17:26.000Z","updated_at":"2019-06-18T23:00:17.000Z","dependencies_parsed_at":"2022-08-31T17:14:33.680Z","dependency_job_id":null,"html_url":"https://github.com/TIBCOSoftware/justapis-java-sdk","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fjustapis-java-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fjustapis-java-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fjustapis-java-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fjustapis-java-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TIBCOSoftware","download_url":"https://codeload.github.com/TIBCOSoftware/justapis-java-sdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252485679,"owners_count":21755821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-05T10:46:16.610Z","updated_at":"2025-05-05T10:46:19.723Z","avatar_url":"https://github.com/TIBCOSoftware.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Java AP JustAPI Gateway\n===========\n\nThis is an SDK that you will want to use to interface with the AnyPresence's JustAPI technology. \n\nDependencies\n===========\n\nThese dependencies are needed:\n\nGradle\n\n```\ncompile 'com.google.code.gson:gson:2.5'\ncompile 'org.apache.commons:commons-lang3:3.4'\ncompile 'com.google.guava:guava:18.0'\n```\n\nMaven\n\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.google.code.gson\u003c/groupId\u003e\n    \u003cartifactId\u003egson\u003c/artifactId\u003e\n    \u003cversion\u003e2.5\u003c/version\u003e\n\u003c/dependency\u003e\n\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.apache.commons\u003c/groupId\u003e\n    \u003cartifactId\u003ecommons-lang3\u003c/artifactId\u003e\n    \u003cversion\u003e3.4\u003c/version\u003e\n\u003c/dependency\u003e\n\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.google.guava\u003c/groupId\u003e\n    \u003cartifactId\u003eguava\u003c/artifactId\u003e\n    \u003cversion\u003e18.0\u003c/version\u003e\n\u003c/dependency\u003e\n\n```\n\nSetup\n===========\n\nThere are a few ways to add these dependencies. The below is for Eclipse.\n\n0) Add APGW-[version]-SNAPSHOT.jar into the libs folder for your java project.\n\n1) You also need to also make sure the library is listed as a dependency in File-\u003eProperties-\u003eJava Build Path-\u003eJars.\n\n2) If not using maven or gradle, you may need to download the jars for the above dependencies.\n\nIf using maven or gradle build system, you need to add the above dependencies into proper build scripts.\n\nQuick Examples\n===========\n\nSends a POST synchronously\n```{java}\n        APGateway.Builder builder = new APGateway.Builder();\n        builder.url(\"http://foo.lvh.me:3000/api/v1/foo\");\n\n        APGateway gw = builder.build();\n        Map\u003cString,String\u003e param = new HashMap\u003cString,String\u003e();\n        param.put(\"foo\", \"bar\");\n        gw.setPostParam(param);\n\n        gw.post(\"/bar\");\n\n        ResponseFromRequest response = gw.readResponse();\n        \n        System.out.println(\"response: \" + response.data);\n\n```\n\nSends a request asynchronously\n\n```{java}\n        APGateway.Builder builder = new APGateway.Builder();\n        builder.url(\"http://localhost:3000\");\n        \n        APGateway gw = builder.build();\n        \n        gw.get(\"/api/v1/foo\", new APStringCallback() {\n            @Override\n            public void finished(String object, Throwable ex) {\n                if (ex == null) {\n                    System.out.println(\"success\");\n                } else {                    \n                    System.out.println(\"failure\");\n                    ex.printStackTrace();\n                }\n            }\n        });\n```\n\n## Certificate pinning\n\nCertificate pinning allows you to tie certificates against specified domains. It defends against attacks on certificate authorities.\nIt has it's limitations as well.\n\n```{java}\n        APGateway.getCertPinningManager().setupCa(\"myalias\", certificateInBytes);\n        \n        APGateway.Builder builder = new APGateway.Builder();\n        builder.url(\"https://localhost:3000\");\n        builder.useCertPinning(true);\n        \n        APGateway gw = builder.build();\n        gw.post(\"/bar\");\n```\n\n## Caching\n\nThe default cache store is an in-memory cache.\n\n```{java}\n      APGateway.Builder builder = new APGateway.Builder();\n      builder.url(\"http://localhost:1080/api/v1/foo\");\n\n      APGateway gw = builder.build();\n      gw.useCaching(true).get();\n      \n      ResponseFromRequest response = gw.readResponse();       \n      System.out.println(\"response: \" + response.data);\n```\n\nYou can set your own cache store by subclassing java.net.ResponseCache and calling \n```\n    Config.setCacheManager(new MyMemoryCache());\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftibcosoftware%2Fjustapis-java-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftibcosoftware%2Fjustapis-java-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftibcosoftware%2Fjustapis-java-sdk/lists"}