PATCH /location/{location} returned 404 for names like "Shelf 1/2", even URL-encoded, because the path is decoded before routing and the default converter stops at a slash. Use the path converter.