Отправьте объект Java в отдых WebService

Я все время использую собственную полезную функцию exst () , которая автоматически объявляет переменные.

Ваш код будет -

$greeting = "Hello, ".exst($user_name, 'Visitor')." from ".exst($user_location);


/** 
 * Function exst() - Checks if the variable has been set 
 * (copy/paste it in any place of your code)
 * 
 * If the variable is set and not empty returns the variable (no transformation)
 * If the variable is not set or empty, returns the $default value
 *
 * @param  mixed $var
 * @param  mixed $default
 * 
 * @return mixed 
 */

function exst( & $var, $default = "")
{
    $t = "";
    if ( !isset($var)  || !$var ) {
        if (isset($default) && $default != "") $t = $default;
    }
    else  {  
        $t = $var;
    }
    if (is_string($t)) $t = trim($t);
    return $t;
}
5
задан Martin Magakian 18 July 2009 в 14:16
поделиться

3 ответа

Взгляните на Рестлет . В руководстве показано, как начать работу.

Restlet позволяет использовать ряд форматов представления, включая XML и JSON .

3
ответ дан 14 December 2019 в 04:45
поделиться

Вам необходимо выполнить загрузку в самом синглтоне, что здесь происходит: вы создаете сингл, вы назначаете ему lval, затем вы создаете новый объект и переназначаете lval на этот новый объект БЕЗ изменения синглтона. Другими словами:

//Set venue to point to singleton
Venue *venue = [Venue sharedVenue];

//Set venue2 to point to singleton
Venue *venue2 = [Venue sharedVenue];

NSData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];

//Set venue to unarchived object (does not change the singleton or venue2)
venue = [unarchiver decodeObjectForKey:@"Venue"];
[unarchiver finishDecoding];

Что вы хотите сделать, так это разобраться с этим в sharedVenue. Есть несколько способов, которыми люди делают синглтоны, поэтому я не могу быть уверен, что вы делаете, но давайте предположим, что sharedVenue в настоящее время выглядит примерно так:

static Venue *gSharedVenue = nil;

- (Venue *) sharedVenue {
  if (!gSharedVenue) {
    gSharedVenue = [[Venue alloc] init];
  }

  return gSharedVenue;
}

Предполагая, что это тот случай, когда вы хотите изменить его, чтобы загрузить объект в глобальная поддержка синглтона:

static Venue *gSharedVenue = nil;

- (Venue *) sharedVenue {
  if (!gSharedVenue) {
    NSData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]];
    NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
    [data release];

    gSharedVenue = [unarchiver decodeObjectForKey:@"Venue"];
    [unarchiver finishDecoding];
    [unarchiver release];
  }

  if (!gSharedVenue) {
    gSharedVenue = [[Venue alloc] init];
  }

  return gSharedVenue;
}

Очевидно, вам нужно каким-то образом передать фактический путь к архивированному объектному файлу.

РЕДАКТИРОВАТЬ НА ОСНОВЕ КОММЕНТАРИИ:

Хорошо, если вы используете синглтон на основе выделения, вам нужно иметь дело с этим в методе инициализации классов: Я предпочитаю реализацию JAX-RS в Джерси, и она имеет встроенную поддержку сериализации JSON вместо JAXB.

Надеюсь, это поможет ...

4
ответ дан 14 December 2019 в 04:45
поделиться

Можно ли АВТОМАТИЧЕСКИ сгенерировать такой отдых? www.foo.com/createUser/name="foo"&surname="foo"

Это НЕ ОТДЫХ Это RPC .

1
ответ дан 14 December 2019 в 04:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: