Проблема с одним параметром конечной точки AppEngine cloud

#java #google-app-engine #oauth-2.0 #google-cloud-endpoints

# #java #google-app-engine #oauth-2.0 #google-cloud-конечные точки

Вопрос:

Конечная точка Google Cloud не позволит вам использовать более одного параметра в вызове. Так, например, следующее не будет работать

 @ApiMethod(name = "addFriend", httpMethod = ApiMethod.HttpMethod.POST)
    public void addFriend(Friend frient, User user) throws OAuthRequestException {
        ...
    }
 

Проблема в том, что OAuth требует, чтобы у меня был пользовательский параметр в дополнение к моему обычному параметру. Итак, как я должен это написать?

Комментарии:

1. Привет, это должно работать нормально. Вам разрешено иметь только один параметр ресурса , но пользователь не должен считаться ресурсом. Вы действительно пробовали это, и если да, то какой результат вы получили?

2. Когда я это делаю, весь метод становится красным (подчеркивание) в Android studio. Сообщение: Multiple entity parameters. There can only be a single entity parameter per method. Checks that a specified resource parameter for a class that does not have a transformer is not a multi-level collection or an array and does not use @Named

3. Также я использую import com.google.api.server.spi.auth.common.User

4. Какую версию фреймворка вы используете?

Ответ №1:

В Android Studio это отображается как ошибка, но работает при развертывании с помощью Maven! Думаю, поддержка плагина Gradle в Studio для Cloud Endpoints framework v2 решит эту проблему. На данный момент используйте @SuppressWarnings(«ResourceParameter»).