本來(lái)今天高高興興,換了新電腦、下載了現(xiàn)在最新的postman版本(v10.0.7)。沒(méi)想到幾年的時(shí)間,mock操作已經(jīng)改得不會(huì)用了。 落淚踩坑并記錄下走默認(rèn)mock配置,導(dǎo)致http接口接收不到返回值的問(wèn)題
一、如何mock一個(gè)接口
postman操作
看見(jiàn)這個(gè)界面就是簡(jiǎn)單的配置完成啦~
在這里可以調(diào)用我們之前配置的mock服務(wù),點(diǎn)擊send后能看到我們配置的response body
代碼調(diào)用接口
我這里是使用的SpringCloud的@FeignClient
調(diào)用
@FeignClient(url = "https://ea6d6f75-9537-4701-ad88-54d1de82f4ba.mock.pstmn.io", name = "demo")
public interface DemoClient {
@GetMapping("/my/path1")
Map<String, Object> func();
}
但是!執(zhí)行報(bào)錯(cuò):feign.codec.DecodeException: Could not extract response: no suitable HttpMessageConverter found for response type [***] and content type [text/html;charset=utf-8]
Caused by: org.springframework.web.client.UnknownContentTypeException: Could not extract response: no suitable HttpMessageConverter found for response type [***] and content type [text/html;charset=utf-8]
大概翻譯翻譯就是之前mock的服務(wù)默認(rèn)的content type是[text/html;charset=utf-8]。也就是被當(dāng)成是html的字符串了,只能返回String。而我在這里想用的map來(lái)接收,或者用一個(gè)pojo類來(lái)接收,都無(wú)法從字符串轉(zhuǎn)換過(guò)來(lái),而是需要一個(gè)json。
那么怎么讓mock服務(wù)返回一個(gè)json對(duì)象呢?postman在Collections頁(yè)簽下提供了方法。詳情入下:
二、如何詳細(xì)設(shè)置mock的請(qǐng)求與返回
在這個(gè)界面可以修改之前配置的mock服務(wù)的request和response。
之前在mock service界面只是簡(jiǎn)單的配置了respons的body。在這個(gè)界面不僅可以修改之前配置的body,還能修改request和response的header。
在response的header里,增加一項(xiàng)配置Content-Type
: application/json
,保存一下。
再重新在代碼內(nèi)調(diào)用一下,已經(jīng)能正常接收到了
三、一圖流總結(jié):
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-427629.html
個(gè)人理解可能不準(zhǔn)確,具體詳情可參考官網(wǎng)學(xué)習(xí)中心文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-427629.html
到了這里,關(guān)于如何使用postman10 mock一個(gè)接口并設(shè)置返回參數(shù)為json的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!