如何处理 Pact 上的多态端点?
How to handle Polymorphic endpoints on Pact?
我有一个可以搜索 Books
和 Movies
的应用程序。这 2 个实体具有不同的属性,因此它们的 JSON 结构不同。
我还有一个 GET /favorites
端点,它应该 return Books
和 Movies
。
GET /favorites
{
"favorites": [
{
"type": "book",
"title": "Foo",
"author": "John"
},
{
"type": "movie",
"name": "Bar",
"producers": [
{
"firstName": "Mary"
}
]
}
]
}
我搜索了有关此案例的文档,但找不到任何内容。如何为这个用例编写 Pact 合约?
我会为此编写两个单独的测试用例,并使用提供者状态来区分这两个有效负载。
例如:
- 有书的时候
- 有电影的时候
或类似的东西。有关这方面的相关背景,请参阅 [1]。
[1] https://docs.pact.io/faq#why-is-there-no-support-for-specifying-optional-attributes
我有一个可以搜索 Books
和 Movies
的应用程序。这 2 个实体具有不同的属性,因此它们的 JSON 结构不同。
我还有一个 GET /favorites
端点,它应该 return Books
和 Movies
。
GET /favorites
{
"favorites": [
{
"type": "book",
"title": "Foo",
"author": "John"
},
{
"type": "movie",
"name": "Bar",
"producers": [
{
"firstName": "Mary"
}
]
}
]
}
我搜索了有关此案例的文档,但找不到任何内容。如何为这个用例编写 Pact 合约?
我会为此编写两个单独的测试用例,并使用提供者状态来区分这两个有效负载。
例如:
- 有书的时候
- 有电影的时候
或类似的东西。有关这方面的相关背景,请参阅 [1]。
[1] https://docs.pact.io/faq#why-is-there-no-support-for-specifying-optional-attributes