FSharp.JsonApi 2.0.0

Use F# to create and consume flexible, strongly typed web APIs following the JSON-API specification.

There is a newer version of this package available.
See the version list below for details.
Install-Package FSharp.JsonApi -Version 2.0.0
dotnet add package FSharp.JsonApi --version 2.0.0
<PackageReference Include="FSharp.JsonApi" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FSharp.JsonApi --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

- Breaking: Removed SimpleResource and related methods/extensions on JsonApiContext. Use Resource.attributesOrDefault and Resource.relationshipsOrDefault instead to get a (possibly default) attribute/relationship instance from a resource.
- Breaking: Added RequestDocumentError.UnknownMainResourceType
- Breaking: JsonApiContext.GetResource and the JsonApiContext.Parse overload returning a resource discriminator now return errors if the resource type is unknown. The signature of the former method is changed; the latter is a behaviour change only.
- Breaking: Renamed Query to QueryParser, added static methods to create an instance with a query parameter map or HttpContext, and changed most methods to instance members that do not depend on a query parameter map or HttpContext
- Breaking: JsonApiContext.create now throws on invalid attribute and relationship names. Use the new AllowIllegalNameAttribute to disable the check for specific attributes/relationships.
- Added Setter type with helper methods to chain and lift normal "immutable setter" functions to accept parsed, possibly optional arguments, combining any errors
- Added JsonApiContext methods RequireResource, WithAllReadOnly, ToDiscriminator, FromDiscriminator, and SerializeAndGetBytes
- Added JsonApiContext overloads for ParseRequired, WithReadOnly, WithWriteOnly, and WithNotNull
- Added async overloads for ResourceBuildContext methods GetAttribute and GetExplicitAttribute
- Fixed Uri.addQuery and Uri.setQuery not behaving correctly for multiple identical query keys and for query keys that only differ by case
- Fixed validation when links collection is null (JSON: "links": null)
- Fixed validation when a relationship is null (JSON: "relationships": {"myRel": null})
- Serializes Uri's to canonical format using Uri.ToString() instead of Uri.OriginalString which is normally used by Newtonsoft.Json
- Made order of included resources deterministic (needed to get stable hashes of response for ETag)

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2.1.0 98 11/8/2019
2.0.3 32 11/6/2019
2.0.2 31 11/6/2019
2.0.1 36 10/31/2019
2.0.0 37 10/30/2019
2.0.0-alpha-09 80 10/17/2019
2.0.0-alpha-08 44 10/14/2019
2.0.0-alpha-07 39 10/11/2019
2.0.0-alpha-06 52 10/9/2019
2.0.0-alpha-05 42 9/26/2019
2.0.0-alpha-04 41 9/26/2019
2.0.0-alpha-03 91 9/24/2019
2.0.0-alpha-02 41 9/23/2019
2.0.0-alpha-01 41 9/19/2019
1.4.1 47 9/26/2019
1.4.0 53 9/16/2019
1.3.0 61 9/12/2019
1.2.0 58 9/12/2019
1.1.0 59 9/11/2019
1.0.3 62 9/10/2019