如何使用Retrofit android直接调用一个函数php

时间:2016-03-22 13:56:31

标签: php android request retrofit

我已经使用改造来与php服务器通信我的应用程序。但我想直接调用函数PHP OO。

这是我的PHP类:

class Car extends Obj {

   public function __construct($name, $pathImg) {
       parent::__construct($name, $pathImg);
   }

   function get() {
       $engine = new Engine(55, 2016, '5.0');
       $brand = new Brand('MY BRAND', null);
       $car = new Car('MY CAR', null, $brand, $engine);

       header('Content-Type: application/json; charset=utf-8');
       echo json_encode(array('car' => $car));
   }
}

我在app中的改造API:

@FormUrlEncoded
    @POST("package/ctrl/Car/")
    Call<Car> get(@Field("id") int id);

是否可以直接调用改装功能?或者使用其他API来做到这一点?

1 个答案:

答案 0 :(得分:1)

请注意,我不是一个PHP人。我认为如果你能以某种方式从URL调用该方法(Google表示可以这样做),这可能是可能的。然而,这是一种可怕的做法 - 你可以让任何用户访问你的PHP函数。

无论如何,使用Retrofit注释你可以修改URL路径,添加参数,插入体等,但是你不能调用PHP函数。接口函数的名称完全没有意义。以正确的方式执行并提供类似“package / ctrl / Car / {id}”的端点,或者像在正常的RESTful api中一样创建POST请求。