如何在ServiceStack路由中使用斜杠传递参数?

sri*_*inu 1 c# servicestack

我的要求是在ServiceStack路由中传递一个值作为参数,该路由包含类似" SK-LOT-79-14/3/11 "的斜杠,这样我就可以获取服务中的记录.

示例路由配置:

[Route("/cims/qcHistoryByLot/{lotNumber}", "GET")]
Run Code Online (Sandbox Code Playgroud)

示例批号:SK-LOT-79-14/3/11

Sco*_*ott 5

您只需*在路径参数的末尾添加一个.

[Route("/cims/qcHistoryByLot/{lotNumber*}", "GET")]
public class GetQcHistoryByLot
{
    public string LotNumber { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

使用星号*充当通配符,并在/cims/qcHistoryByLot/进入之后捕获任何内容LotNumber.有关详细信息,请参阅路由文档中的通配符路径.

这适用于在最后一个路由参数中传递斜杠的路径.如果您需要在路径中不是最后一个参数中传递斜杠,那么您将需要处理该值的编码.在这里看到我的其他答案.