小编jan*_*s83的帖子

FOSRestBundle在Symfony 4.1中不起作用

我在使用Symfony 4.1项目下的FOSRestBundle返回视图时遇到问题.

这是我的控制器的代码:

class NewsController extends FOSRestController
{

    public function getNewsAction()
    {
        $data = ['news1', 'news2'];

        $view = $this->view($data, 200);

        return $this->handleView($view);
     }
}
Run Code Online (Sandbox Code Playgroud)

fos_rest.yaml

fos_rest:
    param_fetcher_listener:  true
    allowed_methods_listener:  true
    routing_loader: true
    view:
        view_response_listener:  'force'
    format_listener:
        rules:
            - { path: ^/api, prefer_extension: true, fallback_format: json, priorities: [ json, html ] }
Run Code Online (Sandbox Code Playgroud)

framework.yaml

framework:
    secret: '%env(APP_SECRET)%'
    php_errors:
        log: true

sensio_framework_extra:
    view:        { annotations: true }
Run Code Online (Sandbox Code Playgroud)

所以我有非常基本的配置,我仍然会收到这样的错误:

(1/1)RuntimeException必须启用SensioFrameworkExtraBundle视图注释才能使用ViewResponseListener.

我试图删除"view:view_response_listener:'force'",但后来我遇到了这个错误:

必须在FOS\RestBundle\View\ViewHandler中注入Symfony\Bundle\FrameworkBundle\Templating\EngineInterface>的实例才能呈现模板.

我几个小时都在挣扎.是因为Symfony 4 beta状态?或者也许我做错了什么?也许我想念一些家属?我在官方文档中找不到任何有关此问题的帮助.

php symfony fosrestbundle

9
推荐指数
2
解决办法
7416
查看次数

将 Observable 映射到对象数组

我有rest api,它返回带有数据的json数组。在客户端,我使用此代码从请求创建对象。

public getNews(): Observable<News[]> {

return this.http.get(this.baseUrl + '/news')
  .pipe(
    catchError(this.handleError('getNews', []))
  )
  .map(res => {
    let response: any = res;
    return response.map((item) => new News(item));
  });
}
Run Code Online (Sandbox Code Playgroud)

订阅:

this.restProvider.getNews().subscribe((news: News[]) => {
  this.news = news;
});
Run Code Online (Sandbox Code Playgroud)

但是,当响应不是数组而只有单个元素时,我该如何解决问题?或者响应是错误的,例如来自 API 的意外数据?

目前在这些情况下,我的应用程序抛出此错误:

response.map 不是函数

typescript ionic-framework angular

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

PHP DOM从第一个ul元素获取项目

我有html文件,看起来像这样:

<ul>
 <li>item 1</li>
 <li>item 2</li>
 <li>item 3</li>
</ul>
<ul>
 <li>smth 1 2 3..</li>
 <li>another</li>
<ul>
<ul>
 <li>smth 1 2 3..</li>
 <li>another</li>
<ul>
Run Code Online (Sandbox Code Playgroud)

我试图从第一个ul列表中获取元素.我正在使用此代码,但它返回错误:

<?php
    $dom = new DOMDocument();
            $dom->loadHTML($data);
            $postalCodesList = $dom->getElementsByTagName('ul');
            foreach ($postalCodesList->item(0) as $postalCodesList) {
                 echo $postalCodesList->nodeValue.'<br />';

            }
?>
Run Code Online (Sandbox Code Playgroud)

php dom element

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

方法"of"未定义 - Angular 5 HTTP服务教程

我正在阅读Angular 5 http 教程.一切都运行良好,直到我坚持这个奇怪的结构我的离子项目抛出错误,"没有定义".

/**
* Handle Http operation that failed.
* Let the app continue.
* @param operation - name of the operation that failed
* @param result - optional value to return as the observable result
*/
private handleError<T> (operation = 'operation', result?: T) {
  return (error: any): Observable<T> => {

    // TODO: send the error to remote logging infrastructure
    console.error(error); // log to console instead

    // TODO: better job of transforming error for user consumption
    this.log(`${operation} …
Run Code Online (Sandbox Code Playgroud)

javascript typescript ionic-framework angular

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