1

Python(3.x)とbottleを使用して単純なWebアプリケーションを実装しています。公開したいAPIは将来変更される可能性があるため、バージョンを変える可能性を追加したいと思います。

このトピックについては、ここにいくつかの洞察に満ちた答えがありますが、Web APIのバージョン管理が悪い考えであることが証明されていない限り、とにかく試してみたいと思います。

私のアプリについて:たとえば、バージョン1.0では、POST /resource:を介して次の呼び出しが可能です。

@post('/resource')
post_item(name=item_name, value=item_value)

将来のバージョンでは次のことが行われる可能性があります。

@post('/resource')
post_item(name=item_name, value=item_value, fullname=longer_item_name)

簡単にするために、キーワードパラメータ'name'、'value'、'fullname'がFROMデータフィールドから取得されていると仮定します。

<input name="name" type="text" />

ここで、最初に頭に浮かぶのは、最初にパラメーターを挿入することです。これは、IPがヘッダーで行っているversionことと似ています。

post_item(v=1, name=item_name, value=item_value)
post_item(v=2, name=item_name, value=item_value, fullname=longer_item_name)

ただし、少し面倒なようです。これに役立つWebマイクロフレームワークライブラリはありますか?私はマイクロフレームワークが行うことから外れていますか?

4

1 に答える 1

6

それは確かに証明された悪い考えではなく、証明された必要性のようなものです。問題は、それを処理するための最良の方法についての合意がほとんどないことです(URIベースのアプローチに関する高レベルの合意を超えて)。

Apigeeには、APIバージョニング戦略に関する優れた記事がいくつかあります。

https://blog.apigee.com/taglist/versioning

これは、人気のあるAPIがバージョニングを処理する方法の概要と、バージョニング戦略について説明しているその他のリソースです。

http://www.lexicalscope.com/blog/2012/03/12/how-are-rest-apis-versioned/

于 2013-03-19T20:16:32.920 に答える