From: Mark Slee Date: Mon, 15 Oct 2007 21:32:12 +0000 (+0000) Subject: Generate REST code properly for objects/struct arguments X-Git-Tag: 0.2.0~1170 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=65e595f54fb188b112ef050fbd56914b509f7b2e;p=common%2Fthrift.git Generate REST code properly for objects/struct arguments Reviewed By: hzhao Test Plan: Data store API git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665302 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/compiler/cpp/src/generate/t_php_generator.cc b/compiler/cpp/src/generate/t_php_generator.cc index 21d3253e..3f0569b3 100644 --- a/compiler/cpp/src/generate/t_php_generator.cc +++ b/compiler/cpp/src/generate/t_php_generator.cc @@ -918,6 +918,9 @@ void t_php_generator::generate_service_rest(t_service* tservice) { } else if (atype->is_set()) { f_service_ << indent() << "$" << (*a_iter)->get_name() << " = array_fill_keys(json_decode($" << (*a_iter)->get_name() << ", true), 1);" << endl; + } else if (atype->is_struct() || atype->is_xception()) { + f_service_ << + indent() << "$" << (*a_iter)->get_name() << " = new " << php_namespace(atype->get_program()) << atype->get_name() << "(json_decode($" << (*a_iter)->get_name() << ", true));" << endl; } } f_service_ <<