rest api code completion for javascript - dotjs 2015

18
QUICK RECIPE: HOW TO END MANUAL REST- API CLIENT CODING @johannes_fiala

Upload: johannesfiala

Post on 16-Apr-2017

1.408 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Rest api code completion for javascript - dotjs 2015

QUICK RECIPE:HOW TO END MANUAL REST-API CLIENT CODING

@johannes_fiala

Page 2: Rest api code completion for javascript - dotjs 2015

Calling APIs manually

$.getJSON(backend_url ???, data ???, function(response) {

response.???

}

Page 3: Rest api code completion for javascript - dotjs 2015

Calling APIs using a generated SDK

Page 4: Rest api code completion for javascript - dotjs 2015

Ingredients

Swagger API docs need to be supplied by the API provider can be provided automatically using e.g.

Spring Boot + Swagger-Springfox see Swagger.io – Tools & Integrations You can also do “API first“ using Swagger-Editor

Swagger-Codegen generate client code in 20+ languages Static Javascript support requested in 2013 … added during dotjs 2015 … available since 2015-12-07 05:00

Page 5: Rest api code completion for javascript - dotjs 2015

Sample REST model using Spring Boot + Springfox

Page 6: Rest api code completion for javascript - dotjs 2015

Swagger API exampleModel definition

Page 7: Rest api code completion for javascript - dotjs 2015

Steps to generateJavascript client code Prepare

Checkout Swagger-Codegen

Generate Generate JS client stubs

Code Enjoy code completion for the REST

API in Javascript & HTML

Page 8: Rest api code completion for javascript - dotjs 2015

JS Mustache templates for Swagger-Codegen

Page 9: Rest api code completion for javascript - dotjs 2015

Generate client code using Swagger-Codegen

java -i http://localhost:8080/v2/api-docs -l javascript -o c:/myproject

Page 10: Rest api code completion for javascript - dotjs 2015

Generated Javascript Model:

Page 11: Rest api code completion for javascript - dotjs 2015

Code completion for User

Page 12: Rest api code completion for javascript - dotjs 2015

Code completion in HTML

Page 13: Rest api code completion for javascript - dotjs 2015

Code completion for all API operations

Page 14: Rest api code completion for javascript - dotjs 2015

Current state of Javascript support API support

Jsdoc comments + type hints Model support

Jsdoc comments + type hints Enumeration support Getter/Setter support Constructor for required properties Print using toJson()

Plain JS + AMD usage supported

Page 15: Rest api code completion for javascript - dotjs 2015

It‘s not yet perfect …

Support for Typescript data types, inheritance, interfaces,

enumerations More annotations / decorator support

See Java Bean Validation API: @NotNull, @Size, @Min, @Max, …

???

Page 16: Rest api code completion for javascript - dotjs 2015

It‘s up to you …

Page 17: Rest api code completion for javascript - dotjs 2015

Thank you for your attention! Swagger-Codegen:

https://github.com/swagger-api/swagger-codegen (master / scheduled for release 2.1.5)

Full demo for Spring Boot: Devoxx 2015 @Youtube

Questions?Contact: @johannes_fiala

Page 18: Rest api code completion for javascript - dotjs 2015

Resources

Swaggerhttp://swagger.io/

Swagger-Codegenhttps://github.com/swagger-api/swagger-codegen

Spring Boothttp://projects.spring.io/spring-boot/

Swagger-Springfoxhttps://github.com/springfox/springfox

Swagger-UI https://github.com/swagger-api/swagger-ui