You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems that there is no way to name parameters in path (mainly for use in Swagger).
Something like {petId:%i} in https://github.com/hvester/EndpointBuilder will be very nice.
One way that it can be done is via changing convertToRouteTemplate function in EndpointRouting. Something like below should be enough:
| '%' :: c :: tail ->
let (placeholderName, placeholderTemplate), newTail =
match tail with
| ':' :: stail ->
let splitIndex = stail |> List.tryFindIndex (fun c -> c = '/')
match splitIndex with
| Some splitIndex ->
let name , newTail =
stail
|> List.splitAt splitIndex
getConstraint i c (Some (System.String.Concat(Array.ofList(name)))), newTail
| None ->
getConstraint i c (Some (System.String.Concat(Array.ofList(stail)))), []
| _ ->
getConstraint i c None, tail
let template, mappings = convert (i + 1) newTail
placeholderTemplate + template, (placeholderName, c) :: mappings
where getConstraint is changed like this
let private getConstraint (i : int) (c : char) (name : string option) =
let name = Option.defaultValue (sprintf "%c%i" c i) name
Do we want this feature?
On what scope it should work? (what names do we allow, do we want to have it in format %c:name. `name:%c' or different
The text was updated successfully, but these errors were encountered:
It seems that there is no way to name parameters in path (mainly for use in Swagger).
Something like {petId:%i} in https://github.com/hvester/EndpointBuilder will be very nice.
One way that it can be done is via changing
convertToRouteTemplate
function inEndpointRouting
. Something like below should be enough:where
getConstraint
is changed like this%c:name
. `name:%c' or differentThe text was updated successfully, but these errors were encountered: