Return a 404 on need view if need doesn't exist

This incurs an extra `GET` request, but means we don't redirect to a non-existent URL. If the API adapters don't already get around the duplicate request with caching, we should be able to fix that if it's an issue.

Also, once we have separate view and edit actions, this won't be an issue any more.