Namespace Neon.ModelGen
Classes
ApiVersion
Used to specify ASP.NET API versions.
ApiVersionAttribute
Used to tag an ASP.NET controller interface or method with an API version. Versions are formatted like:
[VERSIONGROUP.]MAJOR.MINOR[-STATUS]
or:
VERSIONGROUP[MAJOR[.MINOR]][-STATUS]
where VERSIONGROUP is a date formatted like YYYY-MM-DD, MAJOR and MINOR are non-negative integers and STATUS is a string of like alphs, preview, etc. consisting of the following characters: a-z, A-Z, 0-9, "." and "-".
BodyStreamAttribute
Used to indicate that clients generated by Neon.ModelGen should
include a System.IO.Stream stream
parameter holding the data to
be included as the body of the request to the remote service.
note
You may not combine BodyStreamAttribute and FromBodyAttribute attributes on the same model method.
See the remarks for additional details.
ControllerValidationAttribute
Used to have the Neon.Xunit.XunitExtensions.ValidateController<T>()
method including the tagged method when validating the service controller
against its definining interface. This is useful for rare situations where a
service controller inherits from another class that implements some endpoints.
note
By default, Neon.Xunit.XunitExtensions.ValidateController<T>()
only considers service methods implemented directly in the service controller
during validation.
DataModelAttribute
Used to provide the model code generator additional information about a specific data type. Use of this optional because the code generator assumes that all types that are not specifically tagged by ServiceModelAttribute are data types.
EnumMember
Describes an enum
member.
FromBodyAttribute
Used to indicate that a service endpoint parameter is to be obtained by parsing the request body as JSON.
FromHeaderAttribute
Used to indicate that a service endpoint parameter is to be obtained by parsing a request header value.
FromQueryAttribute
Used to indicate that a service endpoint parameter is to be obtained by parsing a request URI query parameter.
FromRouteAttribute
Used to indicate that a service endpoint parameter is to be obtained by extracting it from the URI route template.
GeneratedClientAttribute
Used to tag generated service client classes with additional metadata that will be used when validatating the a generated service client actually matches an ASP.NET service implementation.
GeneratedMethodAttribute
Used to tag generated service client methods with additional metadata that will be used when validatating the a generated service client actually matches an ASP.NET service implementation.
GeneratedParamAttribute
Used to tag generated service client method parameters with additional metadata that will be used when validatating the a generated service client actually matches an ASP.NET service implementation.
HashSourceAttribute
Used to tag data model properties that should be included in the GetHashCode() computation.
HttpAttribute
Base class for the HTTP related attributes below.
HttpDeleteAttribute
Used to identify a service endpoint that is triggered via the DELETE method.
HttpGetAttribute
Used to identify a service endpoint that is triggered via the GET method.
HttpHeadAttribute
Used to identify a service endpoint that is triggered via the HEAD method.
HttpOptionsAttribute
Used to identify a service endpoint that is triggered via the OPTIONS method.
HttpPatchAttribute
Used to identify a service endpoint that is triggered via the PATCH method.
HttpPostAttribute
Used to identify a service endpoint that is triggered via the POST method.
HttpPutAttribute
Used to identify a service endpoint that is triggered via the PUT method.
ModelGenerator
Handles data model and service client code generation.
ModelGeneratorOutput
Holds the output of a model code generation.
ModelGeneratorSettings
Specifies model code generator settings.
NoCodeGenAttribute
Used to indicate that a class or interface should be ignored during code generation.
NoControllerValidationAttribute
Used to prevent the Neon.Xunit.XunitExtensions.ValidateController<T>()
method from including the tagged method when validating the service controller
against its definining interface. This is useful for rare situations where a
service controller implements some extra endpoints that are not covered by the
generated client.
PersistableAttribute
Used to customize the database related code generated for the tagged data model interface.
By default, a public static string GetKey(param object[] args)
method
is included in generated entity classes so that a database key for a specific
entity can be easialy obtained. This method simply generates a string by
calling ToString() on all of arguments or using "NULL"
for null
values which each of these being separated by a single colon
and then prepending the entire thing with the entity type. The generated code
will look something like this:
public class PersonEntity : Entity<Person>
{
public static string GetKey(params object[] args)
{
if (args.Length == 0)
{
throw new ArgumentException("At least one argument is expected.");
}
var key = "entity-type::";
for (int i=0; i $lt; args.Length; i++)
{
var arg = args[i];
if (i > 0)
{
key += ":";
}
key += arg != null ? arg.ToString() : "NULL";
}
return key;
}
...
}
PersistableKeyAttribute
Used to tag the property acting as the database key for an IRoundtripData.
RouteAttribute
Used to customize request routing at the service level.
ServiceModelAttribute
Used to indicate that an interface
should be included when
generating a service client class.
TargetAttribute
Used to group data models and service definitions so that the class included in the generated code can filtered.
Interfaces
ActionResult<T>
Used to indicate that a service method uses the IActionResult
pattern to return a T
.
IActionResult
Used to indicate that a service method uses the IActionResult
pattern to return void
.
Enums
PassAs
Identifies how a generated service client will pass a parameter to an ASP.NET service.
UxFrameworks
Enumerates the user interface frameworks that are supported with additional generated code.