如何访问 Bluemix 的 REST api 端点

How to access REST api endpoints for Bluemix

我在 "Build and deploy a REST API on IBM Bluemix with PHP and MySQL" 上关注了一篇 IBM Blumix 文章。 http://www.ibm.com/developerworks/library/wa-deployrest-app/index.html

但是它从未说明如何访问实际的端点(我想我用的是正确的词)。它说调用“/v1/products”列出所有产品。我是 bluemix 的新手,不太确定要将“/v1/products”附加到什么。我应该附加它来制作“>projectName<.mybluemix.net/v1/products”吗?这是行不通的。我收到错误消息

“未找到

在此服务器上找不到请求的 URL /v1/products。"

干杯

如果您遵循了 developerWorks 文章,那么您应该能够通过执行 GET 调用(即将其添加到 Web 浏览器)来访问端点 url:

your_app_route.mybluemix.net\v1\products

或者如果您部署到英国 (eu-gb) 区域,则 url 是:

your_app_route.eu-gb.mybluemix.net\v1\products

然后将 .xml 或 .json 附加到 url 以获得所需的响应类型。端点在您的应用程序代码中定义,并且通过阅读 developerWorks 文章,此时它在 PHP 代码中设置:

 $app->path('v1', function($request) use ($app) {

    $app->path('products', function($request) use ($app) { 


    // GET /v1/products[.xml|.json]
    // list all products
    $app->get(function() use ($app)  {

      $products = Product::all();         

      // handle requests for XML content
      $app->format('xml', function($request) use($app, $products) {
        return $app->response(200, convert_array_to_xml($products->toArray()))
                      ->header('Content-Type', 'application/xml');
      });

      // handle requests for JSON content
      $app->format('json', function($request) use($app, $products) {
        return $products->toArray();
      });

your_app_route 是您可以在执行 cf push 命令时定义的 route/hostname 名称,如果您没有明确设置此路由(-n 选项或--random-route 选项)然后它将被设置为您的 Bluemix 应用程序的名称。您可以通过查看应用程序的 Bluemix UI 控制台(应该位于页面顶部)或查看 cf push 命令的末尾来了解 url 是什么是说 urls:

从您收到的错误来看,应用程序似乎正在启动,但网络服务器并未将请求定向到 Bullet 模块。您可能想检查步骤 8(b) 是否已正确完成。