Why do I get the "could not find the controller" error?
A 301 is a redirect, so it sounds like you have the Global Redirect module enabled. See this issue for details: https://www.drupal.org/node/1927336

The patch allows you to declare paths that should be ignored by the Global Redirect module so it doesn't hijack Service calls to your Drupal site. You'll input something like this into the configuration text area once the patch has been applied:

drupalgap/*