Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/noelmugnier/fhydia
Fluent Hypermedia Library
https://github.com/noelmugnier/fhydia
hal hateoas hydra hypermedia json-ld openapi rest
Last synced: about 1 month ago
JSON representation
Fluent Hypermedia Library
- Host: GitHub
- URL: https://github.com/noelmugnier/fhydia
- Owner: noelmugnier
- License: mit
- Created: 2023-09-26T22:36:39.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-08T22:45:45.000Z (11 months ago)
- Last Synced: 2024-02-09T23:15:48.677Z (11 months ago)
- Topics: hal, hateoas, hydra, hypermedia, json-ld, openapi, rest
- Language: C#
- Homepage:
- Size: 186 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fhydia (Fluent Hy[perme]dia) Library
The goal of this library is to enrich your endpoints response with Hypermedia (HATEOAS) features with the least impact on your existing code.
The objective is to support multiple HATEOAS specifications.# How ?
By describing in a fluent way your response objects relations and configuration.
When your response enter into the dedicated Filter, Fhydia read the configuration and depending on the accept-header provided in the request add or remove stuff dynamically onto your returned object (by transforming it to an ExpandoObject)# Progress
## Configuration
- [x] Fluent configuration
- [x] FhydiaConfiguration support (like EF) to keep your configuration separated## Response handling
- [x] Use IEndpointFilter to transform response as ExpandoObject if required
- [x] Request 'Accept' header support in order to choose the formatter to use (only HAL supported for now)
- [x] Handle nested objects by recursion
- [ ] Authorization/Visibility support (to show/hide properties or links depending on role)## Required formatters
- [ ] HAL (in progress)
- [ ] JSON-LD
- [ ] COLLECTION-JSON
- [ ] HYDRA
- [ ] HAL-FORMS## Other formatters
- [ ] JSON-API
- [ ] SIREN
- [ ] UBER
- [ ] MASON## Tests
A lot to do !