Пользовательский API в sugarcrm 8.0 - PullRequest
0 голосов
/ 19 февраля 2019

Функция моего кода заключается в том, что я хочу, чтобы он начинал с заглавных букв поля имени и фамилии, когда они нажимали кнопку «Верхнее имя».

вот код:

<?php

class UpperNameApi extends SugarApi
{
    public function registerApiRest()
    {
        return array(
            'UpperNameRequest' => array(
                //request type
                'reqType' => 'GET',

                //endpoint path
                'path' => array('Leads', 'UpperName'),

                //endpoint variables
                'pathVars' => array('module','record'),

                //method to call
                'method' => 'UpperNameMethod',

                //short help string to be displayed in the help documentation
                'shortHelp' => 'Example endpoint',

                //long help to be displayed in the help documentation
                'longHelp' => 'custom/clients/base/api/help/MyEndPoint_MyGetEndPoint_help.html',
            ),
        );
    }

    /**
     * Method to be used for my MyEndpoint/GetExample endpoint
     */
    public function UpperNameMethod($api, $args)
    {
        if (isset($args['record']) && !empty($args['record'])) {
            $bean = BeanFactory::getBean('Leads', $args['record']);

            if (!empty($bean->id)) {
                $first = $bean->first_name;
                $first = ucwords($first);
                $bean->first_name = $first;

                $last = $bean->last_name;
                $last = ucwords($last);
                $bean->last_name = $last;
                $bean->save();
            }

            return 'success';
        }


        return 'failed';

    }

}

Когда я нажимаю кнопку «Верхнее имя», она не работает:

When i click the

Я также пытался использовать почтальон, но это показало: «error_message":" Не удалось найти маршрут с 3 элементами "

pic2

ОБНОВЛЕНО

Я сделал еще один запрос в почтальоне с этими значениями, нона нем показано: «Параметр в вашем запросе недействителен.»

pic3

ОБНОВЛЕНО СНОВА

ИСПРАВЛЕНО ПРОБЛЕМА.

1 Ответ

0 голосов
/ 20 февраля 2019

Решение для этого было действительно простым, и все же мне потребовались часы, чтобы понять.В любом случае ответом является строка 'reqType' => 'GET', которая должна быть 'reqType' => 'POST'.

...