You are not logged in.
Pages: 1
Yes Arnaud, you're absolutely right.
That's the standard that 99.99% of API developers probably adhere to
Unfortunately, in this case, the bearer isn't called "Bearer" but "Wawi"
In other words, this code here (from "mormot.net.client.pas")
case Scheme of
wraBasic:
...
wraBearer:
SockSendLine(['Authorization: Bearer ', Token]);
It should look like this, but that's nonsense.
case Scheme of
wraBasic:
...
wraBearer:
SockSendLine(['Authorization: Wawi ', Token]);
I have no idea why the name was chosen that way. But I'm sure there's a reason for it... ...but I just don't know it :-)
greetings
Salut Arnaud!
Tu es mon héros officiel du jour! :-)
you are my officially "hero of the day"! :-)
great! generation runs
-------------------
If you don´t mind, I have another issue with this schema:
IDK why, but the "securityScheme" seems to appear nowhere
"securitySchemes": {
"Wawi": {
"type": "apiKey",
"description": "Fill Wawi Token here",
"name": "Authorization",
"in": "header"
}
It is just a header-field "Authorization" with the value "Wawi <guid-string>" as described in the schema-comment at the beginning.
Would it be a good Idea to define a kind of "default-header" in the Client-Class?
i.e. in case of
the needed header isn´t specified that way that the generator could find it
the format of the value itself seems to be a bit "uncommon" (string + GUID)
to simplify the calls (I don´t have to add this header in each function, though it is needed in every function and is always the same)
Maybe something like this:
procedure TForm1.CreateApiClient;
begin
FJsonClient := TJsonClient.Create(FBaseUrl);
FClient := TJtlClient.Create(FJsonClient) ;
// also because of the format of the value, what is "Wawi " + GUID-String
FClient.AddDefaultHeader('Authorization', 'Wawi '+GetApiKey);
end;
What do you think?
greetings
Bonjour Dear Arnaud, dear Community
I try to generate Rest-Classes out of this OpenApi-Json-Schema ("1.1-OnPrem"): OpenAPI description v1.1
1) fetched the OpenApi-Definition
mget https://developer.jtl-software.com/_spec/products/erpapi/@1.1-onprem/openapi.json?download /o openapi_v1.1.json
2) This is the Code
ApiParser := TOpenApiParser.Create('JTL');
try
ApiParser.Options := [];
ApiParser.ParseFile('openapi_v1.1.json');
ApiParser.ExportToDirectory( 'c:\temp' );
except
on E : Exception do writeln('Exception: '+E.Message);
end;
...but it failes with this exception
TOpenApiParser.ParseRecordDefinition: JTL.Data.Contracts.Keys.ArtikelKey is integer, not object
what I already did:
Validated this schema and it seems to be correct
The former schema ("1.0-OnPrem") runs fine - OpenAPI description v1.0 (maybe of less references? idk)
I could not figure out what the problem causes. Could sombody help here?
Many Thanks in advance
Greetings Luwo
Pages: 1