小编Gam*_*mer的帖子

Laravel 5.4:Api路线列表

我有以下几行 routes/api.php

Route::middleware('api')->get('/posts', function (Request $request) {
    Route::resource('posts','ApiControllers\PostsApiController');
});
Run Code Online (Sandbox Code Playgroud)

当我点击http://localhost:8000/api/posts它时它会变回空白,但当我将上述路线移动到routes/web.php这样时:

Route::group(['prefix' => 'api/v1'],function(){
    Route::resource('posts','ApiControllers\PostsApiController');
});
Run Code Online (Sandbox Code Playgroud)

有用.

作为提醒我已经清除了路由缓存文件php artisan route:clear,php artisan route:list当我routes/web.php空了并且routes/api.php具有上述路由时,我的路由列表随附:

+--------+----------+-------------+------+---------+------------+
| Domain | Method   | URI         | Name | Action  | Middleware |
+--------+----------+-------------+------+---------+------------+
|        | GET|HEAD | api/posts   |      | Closure | api        |
+--------+----------+-------------+------+---------+------------+
Run Code Online (Sandbox Code Playgroud)

请注意,对于Web路由部分,列表可以正常工作.

我在这做错了什么?

php api rest routing laravel

4
推荐指数
1
解决办法
2万
查看次数

Vue:过滤对象数组以进行搜索

我有一个包含三个对象的数组,每个对象都有直接的键值对。

 // Search Input
 <div class="dv-header-search">
    <input type="text" class="dv-header-input"
      placeholder="Search"
      v-model="query.search_input">
  </div>

//Table row
<tr v-for="row in filteredRow">
    <td v-for="(value, key) in row">{{value}}</td>
</tr>

data() {
  return {
    model: {},
    columns: {},
    query: {
      search_input: ''
    },
  }
},

// Setting model after API call
.then(function(response) {
    Vue.set(vm.$data, 'model', response.data.model)
})

computed: {
  filteredRow: function(){
    return this.model.data.filter((row) => {
      return row;
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

它给了我以下例外:

类型错误:无法读取未定义的属性“过滤器”

我在这里缺少什么。

javascript arrays search object vue.js

4
推荐指数
1
解决办法
3000
查看次数

NestJs:确保您的类使用适当的装饰器进行装饰

我使用graphql-requestGraphQL 客户端来查询无头 CMS 以获取内容、修改并返回原始请求/查询。headless cms 单独托管,仅供参考。

我有以下代码:

@Query(returns => BlogPost)
  async test() {
    const endpoint = 'https://contentxx.com/api/content/project-dev/graphql'
    const graphQLClient = new GraphQLClient(endpoint, {
      headers: {
        authorization: 'Bearer xxxxxxx',
      },
    })
    const query = gql`
      {
        findContentContent(id: "9f5dde89-7f9b-4b9c-8669-1f0425b2b55d") {
          id
          flatData {
            body
            slug
            subtitle
            title
          }
        }
      }`

    return await graphQLClient.request(query);
  }
Run Code Online (Sandbox Code Playgroud)

BlogPost是一个具有以下类型的模型:

import { Field, ObjectType } from '@nestjs/graphql';
import { BaseModel } from './base.model';
import FlatDateType from '../resolvers/blogPost/types/flatDatatype.type';

@ObjectType()
export class BlogPost extends BaseModel { …
Run Code Online (Sandbox Code Playgroud)

javascript node.js typescript graphql nestjs

4
推荐指数
1
解决办法
7016
查看次数

Laravel 5:链接到php页面

我有两页login.blade.phpregister.blade.php.在我的login.blade.php链接上register.blade.php这样:

<a href="register.php">Register a new membership</a>
Run Code Online (Sandbox Code Playgroud)

当我点击register.php的链接时,它会抛出以下错误:

NotFoundHttpException in RouteCollection.php line 143:

登录和注册都在相同的视图文件夹中.

我的route.php文件有:

Route::get('/register', function(){
    return view('register');
});
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5

3
推荐指数
1
解决办法
1万
查看次数

Laravel 5.2测试:测试未运行

我通过终端使用命令创建了一个测试:

php artisan make:test UserTest

现在我想使用以下命令运行测试:

vendor/bin/UserTest

但它回来了

bash: vendor/bin/UserTest: No such file or directory

PHPunit已安装.我检查过.

我错过了什么吗?

php testing unit-testing laravel laravel-5.2

3
推荐指数
1
解决办法
632
查看次数

节点:等待python脚本运行

我有以下代码。我首先上传文件,然后读取文件和console输出,如console.log(obj). 但是响应是第一位的,python 脚本在幕后运行。我怎样才能让代码等待 python 脚本运行然后继续?

router.post(`${basePath}/file`, (req, res) => {

    //Upload file first

    PythonShell.run('calculations.py', { scriptPath: '/Path/to/python/script' }, function (err) {
        console.log(err);
        let obj = fs.readFileSync('Path/to/file', 'utf8');
        console.log(obj);
    });

    return res.status(200).send({
        message : 'Success',
    });
});
Run Code Online (Sandbox Code Playgroud)

我无法获得console.log(obj);输出,因为它在响应之后运行。我怎样才能让它等待 python 脚本运行并console.log(obj)在控制台上获得输出。

javascript python asynchronous node.js express

3
推荐指数
1
解决办法
2954
查看次数

Laravel 5:Route Collection.php第201行中不允许Http异常的方法:

我有一个注册表单并获取注册表单值routes.php.我的rout.php代码是:

Route::get('/', function () {

    return view('login');
});

Route::get('/index', function(){
    return view('index');
});

Route::get('/register', function(){
    return view('register');
});

Route::post('/register',function(){
    $user = new \App\User;
    $user->username = input::get('username');
    $user->email  = input::get('email');
    $user->password = Hash::make(input::get('username'));
    $user->designation = input::get('designation');
    $user->save();

});
Run Code Online (Sandbox Code Playgroud)

表单操作是index.php,还有csrf_token()的隐藏字段:

<form action="index" method="post">         
<input type="hidden" name="_token" value="{{ csrf_token() }}">
Run Code Online (Sandbox Code Playgroud)

错误是: Method Not Allowed Http Exception in Route Collection.php line 201:

php laravel laravel-5

2
推荐指数
1
解决办法
3万
查看次数

Laravel findorfail() 重定向

我有以下代码:

    public function showTestProfile($id){
        $auth = Auth::user();
        $tests = App\Test::findorfail($id);
        return view('profile',compact('auth','tests','members'));
    }
Run Code Online (Sandbox Code Playgroud)

如果我们在 DB 表中有一个 id,那么就会出现findorfail()

但是如果我们像这样将不存在的 id 添加到 url 中:

http://NewPro.dev/user-profile/24645645456

然后没有查询发现 larvel 页面出现。

如果我们没有 id,我如何重定向到某个路由。

php laravel

2
推荐指数
1
解决办法
2106
查看次数

Laravel 如果经过身份验证中间件则重定向

我的应用程序有三种类型的用户,每种类型都有自己的dashboard。我需要检查管理员或任何其他用户是否无法看到另一个用户仪表板。

有一个中间件RedirectIfAuthenticated

public function handle($request, Closure $next, $guard = null){

    if (Auth::guard($guard)->check() && auth()->user()->type == 'admin'){
        return redirect('/admin');
    }

    if (Auth::guard($guard)->check() && auth()->user()->type == 'author'){
        return redirect('/author');
    }

    if (Auth::guard($guard)->check() && auth()->user()->type == 'client'){
        return redirect('/client');
    }
}
Run Code Online (Sandbox Code Playgroud)

它位于guest中间件之下。

上面的代码对我来说似乎不错,但是当我测试它时,浏览器说Too many redirects

我做错了什么,最好的处理方法是什么。

php redirect laravel laravel-5 laravel-request

1
推荐指数
1
解决办法
1万
查看次数

Jquery:等待toastr通知结束然后重新加载

由于模态形式,我使用 ajax,我有一个 toastr 通知来显示 ajax 成功。

toastr.success("We will get back to you with response, Thanks !");

进而 : window.location.reload();

我怎样才能让它先结束通知,然后重新启动。我发现了一些东西,但它很快重新加载页面:

$.when( toastr.success("We will get back to you with response, Thanks !") ).then(function( data, textStatus, jqXHR ) {
    window.location.reload();
});
Run Code Online (Sandbox Code Playgroud)

还有其他合适/最佳实践方法吗?

javascript jquery toastr

1
推荐指数
1
解决办法
1万
查看次数