我正在使用kottpd在Kotlin的REST服务器上工作>
这里是我定义的资源/ URI的摘录:
get("/patients") {req, res -> PatientHandler.doGetAll(req, res)} post("/patients") {req, res -> PatientHandler.doPost(req, res)} get("/patients/.*") {req, res -> PatientHandler.doGetOne(req, res)} post("/patients/.*") {req, res -> PatientHandler.doPatch(req, res)} get("/patients/.*/cases") {req, res -> CaseHandler.doGetAll(req, res)} post("/patients/.*/cases") {req, res -> CaseHandler.doPost(req, res)}
[
/patients
和/patients/.*
]到目前为止运行良好:例如POST: /patients
将患者添加到列表中,GET: /patients/1
检索ID为1的患者。
但是,当调用POST: /patients/1/cases
向患者1添加病例时,将执行POST: /patients/.*
附带的功能。
[我假设(!),.*
是通配符,因此在有ID,更多路径或其他内容之间没有区别。
如何定义我的资源/ URI以区分这些情况?或者,如果我的假设不正确:我在做什么错?
我正在使用kottpd在Kotlin的REST服务器上工作这是我定义的资源/ URI的摘录:get(“ / Patients”){req,res-> PatientHandler.doGetAll(req,res)}} post(“ /患者”){req,...
解决方案是将.*
替换为\d+
,