{"id":13652912,"url":"https://github.com/OKTAYKIR/jsonapi-consumer","last_synced_at":"2025-04-23T03:31:40.422Z","repository":{"id":116630211,"uuid":"121119927","full_name":"OKTAYKIR/jsonapi-consumer","owner":"OKTAYKIR","description":":package: Client framework for consuming JSONAPI services","archived":false,"fork":false,"pushed_at":"2022-12-07T18:40:05.000Z","size":31,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-19T00:04:17.863Z","etag":null,"topics":["client-library","consuming-jsonapi-services","dotnet-core","dotnet-standard","dotnetcore","framework","json","json-api","jsonapi","jsonapi-library","jsonapiclient","netstandard16","wrapper"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OKTAYKIR.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2018-02-11T12:12:03.000Z","updated_at":"2023-07-15T17:24:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"27376555-bbbd-4881-b5df-f33ae89e0c46","html_url":"https://github.com/OKTAYKIR/jsonapi-consumer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OKTAYKIR%2Fjsonapi-consumer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OKTAYKIR%2Fjsonapi-consumer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OKTAYKIR%2Fjsonapi-consumer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OKTAYKIR%2Fjsonapi-consumer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OKTAYKIR","download_url":"https://codeload.github.com/OKTAYKIR/jsonapi-consumer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250365656,"owners_count":21418721,"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":["client-library","consuming-jsonapi-services","dotnet-core","dotnet-standard","dotnetcore","framework","json","json-api","jsonapi","jsonapi-library","jsonapiclient","netstandard16","wrapper"],"created_at":"2024-08-02T02:01:03.946Z","updated_at":"2025-04-23T03:31:38.401Z","avatar_url":"https://github.com/OKTAYKIR.png","language":"C#","funding_links":[],"categories":["Libraries"],"sub_categories":[],"readme":"# JsonApi Client\n![Hits](https://hitcounter.pythonanywhere.com/count/tag.svg?url=https://github.com/OKTAYKIR/jsonapi-consumer)\n![GitHub issues](https://img.shields.io/github/issues/OKTAYKIR/jsonapi-consumer)\n![Build Status](https://github.com/OKTAYKIR/jsonapi-consumer/workflows/CI/badge.svg?branch=master) \n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](#contributing)\n[![nuget](https://img.shields.io/nuget/v/jsonapi-consumer)](https://www.nuget.org/packages/jsonapi-consumer/)\n\nClient framework for consuming JSONAPI web services based on the [JSON API standard](http://jsonapi.org/)\n\n## :package: Installation\njsonapi-consumer is available on [NuGet](https://www.nuget.org/packages/jsonapi-consumer/). \n\n```sh\ndotnet add package jsonapi-consumer\n```\n\n## 🚀 Usage\n\n#### Create HttpGet request with single response object\n```c#\nResponse\u003cUser[]\u003e response = JsonApiConsumer.Get\u003cUser\u003e(\n    baseURI: ABSOLUTE_URL,\n    path: RELATIVE_URI,\n    query: new Dictionary\u003cstring, string\u003e() { { \"FirstName\", \"Oktay\" }, { \"LastName\", \"Kır\" } },\n    headers: new Dictionary\u003cstring, string\u003e() { { HEADER_API_KEY, HEADER_API_KEY_VALUE } } );\n```\n\n#### Create HttpGet request with array response object\n```c#\nResponse\u003cUser\u003e response = JsonApiConsumer.GetById\u003cUser\u003e(\n    id: \"c833cbbf-7c81-4d30-b11a-88cf1c990b9c\",\n    baseURI: ABSOLUTE_URL,\n    path: RELATIVE_URI,\n    query: new Dictionary\u003cstring, string\u003e() { { \"FirstName\", \"Oktay\" }, { \"LastName\", \"Kır\" } },\n    headers: new Dictionary\u003cstring, string\u003e() { { HEADER_API_KEY, HEADER_API_KEY_VALUE } } );\n```\n\n#### Create HttpPost request\n```c#\nvar user = new User()\n{\n    id = \"c833cbbf-7c81-4d30-b11a-88cf1c990b9c\";\n    FirstName = \"Oktay\"; \n    LastName=\"Kır\";\n}\n\nResponse\u003cCreateUserResponse\u003e response = JsonApiConsumer.Create\u003cUser, CreateUserResponse\u003e(\n    model: user,\n    baseURI: ABSOLUTE_URL,\n    path: RELATIVE_URI,\n    headers: new Dictionary\u003cstring, string\u003e() { { HEADER_API_KEY, HEADER_API_KEY_VALUE } } );\n```\n\n#### Post a file\n```c#\nResponse\u003cPostFileResponse\u003e response = JsonApiConsumer.PostFile\u003cPostFileResponse\u003e(\n    fileName: \"filename\",\n    data: new byte[],\n    baseURI: ABSOLUTE_URL,\n    path: RELATIVE_URI,\n    headers: new Dictionary\u003cstring, string\u003e() { { HEADER_API_KEY, HEADER_API_KEY_VALUE } } );\n```\n\n#### Create HttpPut request\n```c#\nvar user = new User()\n{\n    FirstName = \"Oktay\"; \n    LastName=\"Kır\";\n}\n\nResponse\u003cUpdateUserResponse\u003e response = JsonApiConsumer.Update\u003cUser, UpdateUserResponse\u003e(\n    id: \"c833cbbf-7c81-4d30-b11a-88cf1c990b9c\",\n    model: user,\n    baseURI: ABSOLUTE_URL,\n    path: RELATIVE_URI,\n    headers: new Dictionary\u003cstring, string\u003e() { { HEADER_API_KEY, HEADER_API_KEY_VALUE } } );\n```\n\n#### Create HttpPatch request\n```c#\nvar user = new User()\n{\n    FirstName = \"CC\"; \n}\n\nResponse\u003cPatchUserResponse\u003e response = JsonApiConsumer.Patch\u003cUser, PatchUserResponse\u003e(\n    id: \"c833cbbf-7c81-4d30-b11a-88cf1c990b9c\",\n    model: user,\n    baseURI: ABSOLUTE_URL,\n    path: RELATIVE_URI,\n    headers: new Dictionary\u003cstring, string\u003e() { { HEADER_API_KEY, HEADER_API_KEY_VALUE } } );\n```\n\n#### Create HttpDelete request\n```c#\nResponse\u003cDeleteUserResponse\u003e response = JsonApiConsumer.Delete\u003cDeleteUserResponse\u003e(\n    id: \"c833cbbf-7c81-4d30-b11a-88cf1c990b9c\",\n    baseURI: ABSOLUTE_URL,\n    path: RELATIVE_URI,\n    headers: new Dictionary\u003cstring, string\u003e() { { HEADER_API_KEY, HEADER_API_KEY_VALUE } } );\n```\n\n#### Response class definition\n```c#\npublic class Response\u003cT\u003e\n{\n\tpublic DocumentRoot\u003cT\u003e documentRoot { get; internal set; }\n\tpublic HttpStatusCode httpStatusCode { get; internal set; }\n\tpublic Error error { get; set; }\n\tpublic bool IsSuccess { get; internal set; }\n}\n```\n\n## ✨ Contributors\n![GitHub Contributors Image](https://contrib.rocks/image?repo=OKTAYKIR/jsonapi-consumer)\n\n## 🤝 Contributing\n1. Fork it ( https://github.com/OKTAYKIR/jsonapi-consumer/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n\n## Show your support\nPlease ⭐️ this repository if this project helped you!\n\n## 📝 License\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOKTAYKIR%2Fjsonapi-consumer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOKTAYKIR%2Fjsonapi-consumer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOKTAYKIR%2Fjsonapi-consumer/lists"}