Ah, I gotcha. My previous application could match because I actually had "/results/" that was attached to a resource. In this case "/lastRiskEval/" is not attached to any resource. LastRiskEvaluationResource only supports GET when given a 'personid', nothing else, so I didn't think there would be a need to attach the uri pattern "/lastRiskEva/" to anything. That makes sense to me now. Thanks.
>Sam Bao | Software Engineer | Cerner Corporation | 816.201.8242 | [EMAIL >PROTECTED] | www.cerner.com -----Original Message----- From: Thierry Boileau [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 13, 2008 10:42 AM To: [email protected] Subject: Re: URI won't match what's attached to the router Hi Sam, by default a variable is supposed to "eat" at least one character. In your case, the route "/lastRiskEval/{personid}" cannot match the URI "/lastRiskEval/". Another question is what is the resource behind "/lastRiskEval/"? Does this URI really correspond to a "LastRiskEvaluationResource" instance? best regards, Thierry Boileau > I can try this, but I'm curious as to am I declaring the variable wrong? Is > the example below the proper way to do that? Thanks. > > >> Sam Bao | Software Engineer | Cerner Corporation | 816.201.8242 | >> [EMAIL PROTECTED] | www.cerner.com >> > > -----Original Message----- > From: Thierry Boileau [mailto:[EMAIL PROTECTED] > Sent: Tuesday, May 13, 2008 10:03 AM > To: [email protected] > Subject: Re: URI won't match what's attached to the router > > Hello Sam, > > you can update the "personid" variable in order to make it facultative: > > Route route = router.attach("/lastRiskEval/{personid}", > LastRiskEvaluationResource.class); > // You can use other Variable.TYPE_... > Variable variable = new Variable(Variable.TYPE_ALPHA_DIGIT, "", false, > false); route.getTemplate().getVariables().put("personid", variable); > > > best regards, > Thierry Boileau > > >> I've got the following resource attached to my router: >> >> Router router = new Router(getContext()); >> router.attach("/conditions", ConditionsResource.class); >> router.attach("/facts", FactsResource.class); >> router.attach("/risks", RisksResource.class); >> router.attach("/riskEval", RiskEvaluationResource.class); >> router.attach("/lastRiskEval/{personid}", >> LastRiskEvaluationResource.class); >> >> However, when I try to go to the LastRiskEvaluationResource without giving >> it a person id, I get a 404. >> >> I'm just running the http server locally, and so the url I'm using is: >> http://localhost:8182/lastRiskEval/ >> >> However, I get a 404. I traced it down to where the Decoder.handle() tries >> to getNext() and doesn't find the 'next' because when getting routes, it >> uses the BEST method, but never matches my URI. I'm using 1.0.9, does >> anyone have a clue on what I should try? >> >> I've had this work before on another Application where I had >> "/results/{personid}" and it'd work. >> >> --------------------------------------------------------------------- >> - CONFIDENTIALITY NOTICE This message and any included attachments >> are from Cerner Corporation and are intended only for the addressee. The >> information contained in this message is confidential and may constitute >> inside or non-public information under international, federal, or state >> securities laws. Unauthorized forwarding, printing, copying, distribution, >> or use of such information is strictly prohibited and may be unlawful. If >> you are not the addressee, please promptly delete this message and notify >> the sender of the delivery error by e-mail or you may call Cerner's >> corporate offices in Kansas City, Missouri, U.S.A at (+1) (816)221-1024. >> >> >> > > >

