Primate
Guides Requests

Use path parameters

Access dynamic path parameters from the request object. Parameters are URL-decoded.

Use .get() for required params, .try() for optional.

Define route with params

Use brackets in route filename.

TypeScriptroutes/user/[id].ts
import route from "primate/route";

route.get(request => {
  const id = request.path.get("id");
  return { id };
});

Access parameters

Read params via request.path.

TypeScriptroutes/user/[id].ts
import route from "primate/route";

route.get(request => {
  const id = request.path.get("id"); // throws if missing
  const name = request.path.try("name"); // null if missing
  return { id, name };
});

Multiple params

Stack brackets for nested params.

TypeScriptroutes/user/[id]/posts/[post_id].ts
import route from "primate/route";

route.get(request => {
  const id = request.path.get("id");
  const postId = request.path.get("post_id");
  return { id, postId };
});```


Optional params

Use double brackets for optional.

TypeScriptroutes/user/[[name]].ts
import route from "primate/route";

route.get((request) => {
  const name = request.path.try("name") ?? "guest";
  return { name };
});