Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Proposal]: Version management of route #823

Closed
1 of 5 tasks
LiteSun opened this issue Nov 18, 2020 · 6 comments · Fixed by #1157
Closed
1 of 5 tasks

[Proposal]: Version management of route #823

LiteSun opened this issue Nov 18, 2020 · 6 comments · Fixed by #1157
Assignees
Milestone

Comments

@LiteSun
Copy link
Member

LiteSun commented Nov 18, 2020

Please answer these questions before submitting your issue.

  • Why do you submit this issue?
  • Question or discussion
  • Bug
  • Requirements
  • Feature or performance improvement
  • Other

Question

  • What do you want to know?

Bug

  • Which version of Apache APISIX Dashboard, OS, and Browser?

  • What happened?
    If possible, provide a way to reproduce the error.


Requirements or improvement

  • Please describe your requirements or improvement suggestions.

Need more time to think.

@moonming
Copy link
Member

Why empty?

@juzhiyuan
Copy link
Member

For draft proposal, please add some attractive notes, such as in title [DRAFT]

@LiteSun LiteSun changed the title [Proposal]: Version management of route [DRAFT]: Version management of route Nov 22, 2020
@LiteSun
Copy link
Member Author

LiteSun commented Dec 18, 2020

In order to manage api more finely, I propose to add api version management feature.

front-end

  • add version management section in route step1 page

image

  • when enable version turn on, section version config and version table will show.

image

image

  • when click add or edit, Edit version drawer will show.
    image

back-end

  • POST /apisix/admin/routes and PUT /apisix/admin/routes need to support version.
{
...,
...,
version: {
    enable: true,
    location:'header' | 'url' | 'first part of path',
    strip_versio?n: false,
    name:'string',
    default: 'string',
    version_list:[{
                value:'v1',
                override target host:'string',
                expires: timestamp
    },{}]
}
}

apisix

need to discuss.

cc @juzhiyuan @liuxiran @moonming @membphis @nic-chen

@LiteSun LiteSun changed the title [DRAFT]: Version management of route [Proposal]: Version management of route Dec 18, 2020
@membphis
Copy link
Member

In the first version, I think it is enough to control the API version by only supporting the header.
This makes our implementation design easier.

I was confused with Edit version drawer and version table, need more docs @LiteSun , I can not understand them.

@LiteSun
Copy link
Member Author

LiteSun commented Dec 18, 2020

I was confused with Edit version drawer and version table, need more docs @LiteSun , I can not understand them.

  1. version table is used to show the version list, just like our Advanced Routing Matching Conditions
    image

2. Edit version drawer is used to edit or create a version item. will trigger show when you click the add button or edit

@juzhiyuan juzhiyuan self-assigned this Dec 18, 2020
@juzhiyuan
Copy link
Member

I will take this proposal.

@juzhiyuan juzhiyuan added this to the 2.3 milestone Dec 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants