Jump to content

Web API : swagger docs is wrong


jeromechrist

Recommended Posts

Posted (edited) · Web API : swagger docs is wrong

Hello,

I'm using a Ultimaker3 with firmware : 3.7.7.20170627 (latest from stable).

I have the following issue when calling GET /printer via a client generated from swagger tools : the Network object returns differs from the spec (returns an object : is an enum in spec), which throws a serialization exception.

 

  • Is there an updated - correct - swagger doc somewhere ?
  • A nuget package for a c# client ?
  • If not, a github repo where we can contribute ?

 

Thanks !

Edited by Guest
  • Link to post
    Share on other sites

    • 11 months later...
    Posted · Web API : swagger docs is wrong

    Hi,

     

    I’m new here and I, too, would like to generate a client.

     

    Can someone point me to a spec that I can use as an input to the Swagger tools? I’ll even take the buggy one for now.

     

    Thanks,

    Deckard

  • Link to post
    Share on other sites

    Posted · Web API : swagger docs is wrong
    2 hours ago, Deckard said:

    Can someone point me to a spec that I can use as an input to the Swagger tools?

     

    I'm not quite sure if this was your question,

    but once your Ultimaker3 is connected to your network you can simply enter the printers ip-address in a web-browser. This opens the start page of the printers web server and there's a link to the API documentation.

  • Link to post
    Share on other sites

    Posted (edited) · Web API : swagger docs is wrong

    Thanks, tinkergnome.

     

    I'm not after the human readable doc, I'm after the JSON file that defines the API so I can generate a client with my chosen language bindings.

     

    Is that served up somewhere in the printer perhaps? If so, I haven't been able to find it.

    Edited by Deckard
  • Link to post
    Share on other sites

    Posted · Web API : swagger docs is wrong
    6 hours ago, Deckard said:

    Thanks, tinkergnome.

     

    I'm not after the human readable doc, I'm after the JSON file that defines the API so I can generate a client with my chosen language bindings.

     

    Is that served up somewhere in the printer perhaps? If so, I haven't been able to find it.

     

    swagger doc should be available at http://ipforyourprinter/docs/api/

  • Link to post
    Share on other sites

    Posted · Web API : swagger docs is wrong

    See the reply above for the nice formatted Swagger page with API documentation.

    Or download the raw json file from: http://ipforyourprinter/docs/api/api_documentation.json

     

    We attempt to keep this document up to date, but it isn't tested a lot. When you find problems, then please report them so we can fix it.

  • Link to post
    Share on other sites

    Posted · Web API : swagger docs is wrong

    Hi Carlo,

     

    Thanks very much for your response. I'm afraid that I have caused some confusion here by not being very clear on what I'm after. I apologize.

     

    When I say "spec" I am referring to the Swagger specification file that defines the API, and is subsequently used as to generate the documentation, the server stubs, and client bindings. This is a YAML file or can also be interchanged as JSON. It is this file, literally the specification of the API, in which I'm interested. It was formerly called the Swagger Specification but is now called the OpenAPI Specification.

     

    This file can be used as an input to the Swagger Codegen client generation tool (or other tools). See here:

    https://swagger.io/tools/swagger-codegen/

     

    With the specification in hand, client source code can be automatically generated targeting a large number of languages and the client needn't be coded by hand.

     

    I've searched the web and the Ultimaker github repos, and I have not been able to find it.

     

    Is it possible to get this file posted somewhere?

     

    Thanks,

    Deckard

     

  • Link to post
    Share on other sites

    Posted · Web API : swagger docs is wrong

    Did you look at the referred links? This isn't my expert field, but to my best understanding this file on the printer is what you are looking for.

    Too bad we are not (yet) allowed to open our github repositories, so that's why you won't find the info there. But, the printer itself is a good source of info (enable developer mode and using SSH the whole printer is open to you).

  • Link to post
    Share on other sites

    Posted (edited) · Web API : swagger docs is wrong
    On 9/16/2018 at 6:47 PM, Deckard said:

    Hi Carlo,

     

    Thanks very much for your response. I'm afraid that I have caused some confusion here by not being very clear on what I'm after. I apologize.

     

    When I say "spec" I am referring to the Swagger specification file that defines the API, and is subsequently used as to generate the documentation, the server stubs, and client bindings. This is a YAML file or can also be interchanged as JSON. It is this file, literally the specification of the API, in which I'm interested. It was formerly called the Swagger Specification but is now called the OpenAPI Specification.

     

    This file can be used as an input to the Swagger Codegen client generation tool (or other tools). See here:

    https://swagger.io/tools/swagger-codegen/

     

    With the specification in hand, client source code can be automatically generated targeting a large number of languages and the client needn't be coded by hand.

     

    I've searched the web and the Ultimaker github repos, and I have not been able to find it.

     

    Is it possible to get this file posted somewhere?

     

    Thanks,

    Deckard

     

     

    go tp http://ipforyourprinter/docs/api/ it will display the swagger-ui or as @CarloK posted, http://ipforyourprinter/docs/api/api_documentation.json will output the swagger doc as json that you use to generate a client with

     

    Edited by jeromechrist
  • Link to post
    Share on other sites

    Posted · Web API : swagger docs is wrong

    I apologize for the distractions here. I really feel like a dummy.

     

    I started with the Swagger Codegen tool and it refused to ingest that JSON file complaining that it was malformed for an API spec. However, NSwag Studio will ingest it just fine. Scratching my head.

     

    Thanks for your patience.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...