Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5 从laravel API检索数据到颤振应用程序_Laravel 5_Flutter - Fatal编程技术网

Laravel 5 从laravel API检索数据到颤振应用程序

Laravel 5 从laravel API检索数据到颤振应用程序,laravel-5,flutter,Laravel 5,Flutter,我已经在我的颤振应用程序和laravel api之间建立了一个连接,但我不知道为什么我不能从后端获取一些数据(图像)来显示在应用程序上。我在本地服务器上运行LaravelAPI,在android模拟器上运行Flatter应用程序 这是我的代码… import 'package:flutter/material.dart'; import 'package:restaurant_app/models/category.dart'; class HomeCategories

我已经在我的颤振应用程序和laravel api之间建立了一个连接,但我不知道为什么我不能从后端获取一些数据(图像)来显示在应用程序上。我在本地服务器上运行LaravelAPI,在android模拟器上运行Flatter应用程序

这是我的代码…

    import 'package:flutter/material.dart';
    import 'package:restaurant_app/models/category.dart';

    class HomeCategoriesGet extends StatefulWidget {
       final List<Category> categoryList;
       final int categoryId;
       final String categoryName;
       final String categoryImage;
      @override
      HomeCategoriesGet(
           {this.categoryList,
           this.categoryId,
           this.categoryName,
           this.categoryImage});
      _HomeCategoriesGetState createState() => _HomeCategoriesGetState();
    }

    class _HomeCategoriesGetState extends State<HomeCategoriesGet> {
         @override
         Widget build(BuildContext context) {
         return ListView.builder(
              itemCount: this.widget.categoryList.length,
              itemBuilder: (context, index) {
                 return Card(
                        child: Column(
                        children: <Widget>[
                           Image.network(
                             // This is where i am trying to get the image
                             this.widget.categoryList[index].catImage,
                             width: 190.0,
                             height: 160.0,
                           ),
                           Padding(
                           padding: const EdgeInsets.all(8.0),
                             child: Text(this.widget.categoryList[index].name),
                           ),
                       ],
                    ),
                  );
                },
              );
             }
           }
来自LaravelAPI-CategoriesResource.php

 <?php

    namespace App\Http\Resources;

    use Illuminate\Http\Resources\Json\JsonResource;

    class CategoriesResource extends JsonResource
  {
     /**
        * Transform the resource into an array.
        *
        * @param  \Illuminate\Http\Request  $request
        * @return array
     */
  public function toArray($request)
     {
         return [
              'categoryName' => $this->categoryName,
               'category_image' => 'http://127.0.0.1:8000/api/v1/public/category_images/'.$this->category_image
              ];
     }
  }   
请帮我解决这个问题。感谢

解决此问题: 第一次运行php artisan serve--主机0.0.0.0
然后在终端上键入以下命令以获取本地IP:
对于Windows:
ipcofing

Linux或Mac:
ifconfig

在我的例子中,它是:
IPv4地址………:192.168.1.122

最后: `

`

要解决此问题: 第一次运行php artisan serve--主机0.0.0.0
然后在终端上键入以下命令以获取本地IP:
对于Windows:
ipcofing

Linux或Mac:
ifconfig

在我的例子中,它是:
IPv4地址………:192.168.1.122

最后: `


`

删除baseUrl变量中的/api

删除baseUrl变量中的/api

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-
    ════════════════════════════ Exception caught by image resource service ════════════════════════════
   The following SocketException was thrown resolving an image codec:
   OS Error: Connection refused, errno = 111, address = 127.0.0.1, port = 48849

   When the exception was thrown, this was the stack

   #0      NetworkImage._loadAsync 
       package:flutter/…/painting/_network_image_io.dart:84
   <asynchronous suspension>

   #1      NetworkImage.load 
       package:flutter/…/painting/_network_image_io.dart:48

   #2      ImageProvider.resolve.<anonymous closure>.<anonymous closure>.<anonymous closure> 
       package:flutter/…/painting/image_provider.dart:316

   #3      ImageCache.putIfAbsent 
       package:flutter/…/painting/image_cache.dart:160
   ...

   Image provider: NetworkImage("http://127.0.0.1:8000/api/v1/public/category_images/starters_1578944124.jpeg", scale: 1.0)

   Image key: NetworkImage("http://127.0.0.1:8000/api/v1/public/category_images/starters_1578944124.jpeg", scale: 1.0)

    import 'package:http/http.dart' as http;
        // Create connection with Back-end (laravel)

        class Repository {
           // connection with emulator
           String _baseUrl = 'http://10.0.2.2:8000/api';

           httpGet(String api) async {
               return await http.get(_baseUrl + "/" + api);
          }

           httpGetById(String api, id) async {
               return await http.get(_baseUrl + "/" + api + "/" + id.toString());
          }
        }

    class Repository {
       // connection with emulator
       String _baseUrl = 'http://192.168.1.122:8000/api';
      ....
      }