W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
默認(rèn)情況下,網(wǎng)關(guān)為通過(guò)DiscoveryClient
創(chuàng)建的路由定義單個(gè)謂詞和過(guò)濾器。
默認(rèn)謂詞是使用模式/serviceId/**
定義的路徑謂詞,其中serviceId
是DiscoveryClient
中服務(wù)的ID。
缺省過(guò)濾器是帶有正則表達(dá)式/serviceId/(?<remaining>.*)
和替換文本/${remaining}
的重寫路徑過(guò)濾器。這只是在將請(qǐng)求發(fā)送到下游之前從路徑中剝離服務(wù)ID。
如果要自定義DiscoveryClient
路由使用的謂詞和/或過(guò)濾器,可以通過(guò)設(shè)置spring.cloud.gateway.discovery.locator.predicates[x]
和spring.cloud.gateway.discovery.locator.filters[y]
來(lái)實(shí)現(xiàn)。
這樣做時(shí),如果要保留該功能,則需要確保在上面包含默認(rèn)謂詞和過(guò)濾器。以下是此示例的示例。
application.properties。
spring.cloud.gateway.discovery.locator.predicates[0].name: Path spring.cloud.gateway.discovery.locator.predicates[0].args[pattern]: "'/'+serviceId+'/**'" spring.cloud.gateway.discovery.locator.predicates[1].name: Host spring.cloud.gateway.discovery.locator.predicates[1].args[pattern]: "'**.foo.com'" spring.cloud.gateway.discovery.locator.filters[0].name: Hystrix spring.cloud.gateway.discovery.locator.filters[0].args[name]: serviceId spring.cloud.gateway.discovery.locator.filters[1].name: RewritePath spring.cloud.gateway.discovery.locator.filters[1].args[regexp]: "'/' + serviceId + '/(?<remaining>.*)'" spring.cloud.gateway.discovery.locator.filters[1].args[replacement]: "'/${remaining}'"
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: