Class LinkBuilder
- Namespace
- JsonApiDotNetCore.Serialization.Response
- Assembly
- JsonApiDotNetCore.dll
Builds resource object links and relationship object links.
[PublicAPI]
public class LinkBuilder : ILinkBuilder
- Inheritance
-
LinkBuilder
- Implements
- Inherited Members
Constructors
LinkBuilder(IJsonApiOptions, IJsonApiRequest, IPaginationContext, IHttpContextAccessor, LinkGenerator, IControllerResourceMapping, IPaginationParser, IDocumentDescriptionLinkProvider)
public LinkBuilder(IJsonApiOptions options, IJsonApiRequest request, IPaginationContext paginationContext, IHttpContextAccessor httpContextAccessor, LinkGenerator linkGenerator, IControllerResourceMapping controllerResourceMapping, IPaginationParser paginationParser, IDocumentDescriptionLinkProvider documentDescriptionLinkProvider)
Parameters
options
IJsonApiOptionsrequest
IJsonApiRequestpaginationContext
IPaginationContexthttpContextAccessor
IHttpContextAccessorlinkGenerator
LinkGeneratorcontrollerResourceMapping
IControllerResourceMappingpaginationParser
IPaginationParserdocumentDescriptionLinkProvider
IDocumentDescriptionLinkProvider
Methods
GetRelationshipLinks(RelationshipAttribute, IIdentifiable)
Builds the links object for a relationship inside a returned resource.
public RelationshipLinks? GetRelationshipLinks(RelationshipAttribute relationship, IIdentifiable leftResource)
Parameters
relationship
RelationshipAttributeleftResource
IIdentifiable
Returns
GetResourceLinks(ResourceType, IIdentifiable)
Builds the links object for a returned resource (primary or included).
public ResourceLinks? GetResourceLinks(ResourceType resourceType, IIdentifiable resource)
Parameters
resourceType
ResourceTyperesource
IIdentifiable
Returns
GetTopLevelLinks()
Builds the links object that is included in the top-level of the document.
public TopLevelLinks? GetTopLevelLinks()
Returns
RenderLinkForAction(string?, string, IDictionary<string, object?>)
protected virtual string? RenderLinkForAction(string? controllerName, string actionName, IDictionary<string, object?> routeValues)
Parameters
controllerName
stringactionName
stringrouteValues
IDictionary<string, object>