मैं http4k-अनुबंधों का उपयोग कर रहा हूं और मैं पथ के बीच में पथ पैरामीटर के साथ एक मार्ग मॉडल करने का प्रयास कर रहा हूं, यानी।

यह रास्ता है: /player/{id}/match

यह मेरा कोड है (संकलित नहीं करता): "/player/" / Path.string().of("id") / "match" meta { ..

इसे करने का सही तरीका क्या है?

1
reikje 13 नवम्बर 2018, 12:51

1 उत्तर

सबसे बढ़िया उत्तर

यदि यह संकलित नहीं होता है, तो इसका शायद अर्थ यह है कि उस कथन के अंत में फ़ंक्शन में पर्याप्त पैरामीटर नहीं हैं। आपको कुछ इस तरह की आवश्यकता है - लैम्ब्डा के बीच में "मृत" पैरामीटर पर ध्यान दें जहां स्ट्रिंग "फू" को इंजेक्ट किया जाएगा:

"/prefix" / Path.of("first") / "foo" / Path.of("second") 
    bindContract GET to { first, _, second -> { 
        Response(OK).body("$first $second") }
    }

अनुगामी पैरामीटर ठीक उसी तरह काम करते हैं, इसलिए एक्सट्रपलेशन द्वारा आपको इसकी आवश्यकता होगी:

val route = "/prefix" / Path.of("first") / "foo" meta { description = "I am great"} bindContract GET to { first, _ -> { Response(OK).body(first) } }

मेटा टैग जोड़ने के लिए, आप आसानी से इंफिक्स व्हाइटस्पेस से उलझ सकते हैं, इसलिए यदि यह संकलित नहीं होता है तो लाइन ब्रेक के साथ खेलने का प्रयास करें।

3
Vojtěch 20 अक्टूबर 2020, 19:23