...
Use Case | Layer | MAJOR | MINOR | PATCH1 | ||
---|---|---|---|---|---|---|
Refactoring resource model, if it has become fragile or overly complex through many evolutionary steps; introduce a set of namespaces to reflect the category of resources (nothing is where it used to be) | API | X | ||||
Restructure resource(s) to meet new business requirements/conform to emerging interface standard(s) | API | X | ||||
Add a required request parameter value without default | API | X | ||||
Add a required request parameter value with default | API | X | ||||
Add a new resource model or type | Resource | X | ||||
Update an existing resource model or type w/BWC | Resource | X | ||||
Update an existing resource model or type w/out BWC | Resource | X | ||||
Adding optional data items to an input resource representation | Resource | X | ||||
Add a new behavior method w/no changes to existing behavior methods (e.g. add PUT as a method when it did not exist as prior functionality) | Behavior | X | ||||
Changes to data volume on returned response | Behavior | X | ||||
Changes to undocumented sorting order of data on returned response w/out changes to volume | Behavior | X | ||||
Changes to documented sorting order of data on returned response w/out changes to volume | Behavior | X | ||||
Changes in behavior that do not change the resource model or representation | Behavior | X | ||||
Deprecate method, but do not change the structure of the resource model or representation | Behavior | X | ||||
Adding new optional parameter(s) (that do not change default behavior) to requests | Representation | X | ||||
Adding data items to an output resource representation, where any prescribed schema validation (for example, XML Schema or JSON-Schema validation) is not broken | Representation | X | ||||
Fix a defect that does not impact behavior or representation (e.g. fix internal algorithm to run more efficiently) | General | X | ||||
Changes to error codes, whereas the error code content is updated or changed, with no change in the resource model or representation | API | X |
1 PATCH refers to the position in the version number, not the HTTP method of PATCH. This method should not be used as it is idempotent.
...
Custom Headers Specification
Header Name | Specification |
---|---|
X-MinorVersion |
|
X-PatchVersion |
|
X-LatestVersion |
|
Custom Header Flow Diagrams
...
Working Team Information/Discussion
Working Team Members
Name | Company | Phone Number | Time Zone | |
---|---|---|---|---|
AT&T |
AT&T | dw2049@att.com | (561) 371-7619 | EST | |
AMDOCS | sharon.chisholm@amdocs.com | EST | ||
Huawei | Christopher.Donley@huawei.com | |||
AT&T | gg2147@att.com | (847) 420-8459 | ||
Mark Ho | AT&T | mh574f@att.com | (781) 791-4345 | EST |
VMware | ramkik@vmware.com | |||
AT&T | am803u@att.com |
EST | ||||
ARM (OAM) | adolfo.perez-duran@oamtechnologies.com | 720.560.2659 | MT | |
Intel | alex.vul@intel.com | |||
Huawei | Parviz.Yegani@huawei.com | (408) 759-1973 | PT | |
ZTE | mailto:zhao.huabing@zte.com.cn | GMT+8 |
* Responsible team lead
Discussion Items
Item | What | Notes |
---|---|---|
1 | R3 Focus/Scope | Establish/finalize a proposal for a generic versioning methodology, URL structure for HTTP/REST APIs, and Swagger 2.0/OpenAPI 3.0 guidance.
Current recommendations (on the table):
|
2 | R4 and Beyond | Establish/finalize a proposal for backwards compatibility (BWC) and exposing API versions.
|
3 | Noteworthy | Dana Bobko will be working with gg2147@att.com to combine the results of this working team with the Documentation effort (there are intersection points). |
Resources/Related Links
- REST APIs Must be Hypertext-Driven: Blog post where Roy Fielding argues that not any HTTP-based interface is a REST API
- RESTful API Design Specification (for ONAP)
...