簡體   English   中英

提供方處理不適用於請求正文

[英]Provider side maching not work on request body

如果我在提供者的請求正文中添加任何內容或重命名或刪除與合同不同的任何字段,則提供者端匹配不起作用,那么它不會失敗。

例如,合同文件請求正文中包含名稱字段和相同的字段,如果我僅在請求中刪除或重命名提供者的請求正文(而不是響應),則協議不會驗證這一點。

我想在提供者方面確認請求正文的匹配是否有效?

我可以在協議文件中看到請求正文的匹配規則,但它似乎不起作用。

將新字段添加到 Pact 合同不需要的提供者響應中將被忽略。

為什么會這樣? Pact 遵循Postel 定律 響應中的意外元素不應給消費者帶來問題。 其他消費者可能有不同但重疊的需求,因此未能基於這些理由構建提供者是有問題的。

根據我們的文檔,這意味着:

發送的內容要保守——當消費者項目中的模擬服務器將實際請求與預期請求進行比較時,實際請求正文不允許包含未在預期請求正文中定義的字段。 我們不希望真正的消費者“泄露”我們不知道的數據的情況。

對您接受的內容保持自由 - 在驗證提供者項目中的協議時,響應正文和標頭可能包含未在期望中定義的字段,假設您的消費者將忽略任何額外的字段。 這允許提供者在不破壞現有消費者的情況下發展(與糟糕的舊 WSDL 天不同)。

你的第二點:

我想在提供者方面確認請求正文的匹配是否有效?

聽起來它正在工作。 如果您更改數據類型或有意外的響應代碼,它會正確識別重大更改。

如果您重命名消費者所需的字段,那么這聽起來像是一個錯誤(就 Pact 功能而言,這是一個致命的錯誤,所以我持懷疑態度)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM