10
Unnamed Project Original faults and profits

Express js api-versioning

  • Upload
    da-14

  • View
    110

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Express js api-versioning

Unnamed ProjectOriginal faults and profits

Page 2: Express js api-versioning

ExpressJS: API versioning

Page 3: Express js api-versioning

- New database architecture

- iOS builds are not so easy to change

- Old iOS build should be supported as well as new versions

Why did we initiate API versioning?

Page 4: Express js api-versioning

ExpressJS: API versioningprevious flow

request middlewares responsecontroller

model

route

Page 5: Express js api-versioning

- New features should be implemented into API V2

- API V1 shouldn’t know about database changes

- API V1 will not be updated with new features

ExpressJS: API versioningrequirements

Page 6: Express js api-versioning

ExpressJS: API versioningnew flow to fit requirements

request

middlewares

response

controller V1

model

route V1

route V2 controller V2

response service(mapper)

Page 7: Express js api-versioning

ExpressJS: API versioningnew flow to fit requirements - response mapper

origin url?response data process response

emulate v1 response

(map)

response service / mapper

/api/v1

/api/v2

Page 8: Express js api-versioning

- Create V1 and V2 routes

- Move previous controller actions to V2 folder (controllers/v2)

- Leave entities that should be changed in V1

- Convert / Migrate existing data to get it suitable with new database structure

ExpressJS: API versioningnew flow to fit requirements

Page 9: Express js api-versioning

Name: Roman SachenkoEmail: [email protected]: roman.sachenko

Page 10: Express js api-versioning

DA-14 2016