{"id":25975033,"url":"https://github.com/pjc0247/stronghttp","last_synced_at":"2025-03-05T02:36:35.261Z","repository":{"id":147422334,"uuid":"45101906","full_name":"pjc0247/StrongHTTP","owner":"pjc0247","description":"Make Interface All the REST Requests! (강력한 REST 콜)","archived":false,"fork":false,"pushed_at":"2018-10-19T03:40:50.000Z","size":219,"stargazers_count":5,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T20:52:10.223Z","etag":null,"topics":["csharp","emit","http","reflection"],"latest_commit_sha":null,"homepage":"","language":"C#","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/pjc0247.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-10-28T09:27:31.000Z","updated_at":"2018-10-19T03:40:52.000Z","dependencies_parsed_at":"2024-01-06T13:09:36.572Z","dependency_job_id":"705e457c-9599-40ac-a91e-40420b8a0f61","html_url":"https://github.com/pjc0247/StrongHTTP","commit_stats":{"total_commits":188,"total_committers":3,"mean_commits":"62.666666666666664","dds":"0.48404255319148937","last_synced_commit":"031c640cf8b0459b239a753fdaed74bb747de66b"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjc0247%2FStrongHTTP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjc0247%2FStrongHTTP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjc0247%2FStrongHTTP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjc0247%2FStrongHTTP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pjc0247","download_url":"https://codeload.github.com/pjc0247/StrongHTTP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241955011,"owners_count":20048402,"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":["csharp","emit","http","reflection"],"created_at":"2025-03-05T02:36:34.677Z","updated_at":"2025-03-05T02:36:35.250Z","avatar_url":"https://github.com/pjc0247.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"StrongHTTP\n====\n![man](img/man.png)\u003cbr\u003e\nMake Interface All the REST Requests!\u003cbr\u003e\n[![Build Status](https://travis-ci.org/pjc0247/StrongHTTP.svg?branch=master)](https://travis-ci.org/pjc0247/StrongHTTP)\n\n__[documentation](doc)__\n\n\nOverview\n----\nIf you want to call REST method which has a specification like below:\n```\nGET /mymath/sum\n\n{\n    \"x\" : NUMBER,\n    \"y\" : NUMBER\n}\n```\n```\n{\n    \"result\" : NUMBER\n}\n```\n\njust make a interface and describe your API.\n```cs\n[Service(\"/mymath\")]\ninterface MyRESTClient {\n    [Resource(\"/sum\")]\n    [ResponsePath(\"result\")]\n    int Sum(int x, int y);\n    \n    // also supports `Async` functions.\n    Task\u003cint\u003e SumAsync(int x, int y);\n}\n```\n\nthen __StrongHTTP__ will make a proper implementation for you.\n```cs\nvar client = RemotePoint.Create\u003cMyRESTClient\u003e(\"https://api.example.com\");\n\nvar result = await client.SumAsync(10, 20); // 30\n```\n\n\nUsage with NaverTranslate API\n----\nhttps://github.com/pjc0247/NaverTranslator\n\nFeatures\n----\n* supports `async` \n* 없음\n\n외 많들었나?\n----\n* 왭 API의 파라미터와 리턴 타입을 정의하는것 만으로도 동작하게 하기 위해서\n* 강타입 언어인 C#의 특성을 잘 이용하기 위해서 (VS 인텔리센스, 타입체크 등)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpjc0247%2Fstronghttp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpjc0247%2Fstronghttp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpjc0247%2Fstronghttp/lists"}