如何返回所有用户

时间:2019-06-26 10:06:43

标签: angular symfony

我不会在all users中显示admin page。 我找不到,也不知道function symfony中的return all usersangular。您能知道代码吗? 我使用mysql和phpmyadmin的db

我知道问题出在我的symfony函数上。我想要返回所有列出的后台办公室用户的功能

我在UserController.php中的功能:

/**
 * @Rest\Get("/allUsers")
 */
public function getAllUsers()
{
    // TODO: récupérer tout les utilisateurs de la base de donnée.
    $user = $this->get('security.token_storage')->getDoctrine()->getUser();;

    return new Response($user);
}

我的userService.ts:

getAllUsers() {
 return this.api.get('api/user/allUsers');
}

我使用Angular 7Symfony 4

我在UserController.php中返回该函数的当前用户

public function getUser()
{
    $user = $this->get('security.token_storage')->getToken()->getUser();
    $response = $this->serializer->serialize($user, 'json', SerializationContext::create()->setGroups(array('user.get')));

    return new Response($response);
}

3 个答案:

答案 0 :(得分:1)

  

UserController.php:

/**
 * @Rest\Get("/allUsers")
 */
public function getAllUsers()
{
    $em = $this->getDoctrine()->getManager();

    $userRepo = $em->getRepository(User::class);
    $user = $userRepo->findAll();
    $response = $this->serializer->serialize($user, 'json', SerializationContext::create()->setGroups(array('user.get')));

    return new Response($response);

}
  

user.service.ts:

getAllUsers(): Observable<Container[]> {
return this.api.get('api/user/allUsers');
}
  

admin.component.ts:

export class AdministrationUsersComponent implements OnInit {
  users  = [];

  constructor(
    private userService: UserService,
  ) { }

  ngOnInit() {
    this.userService.getAllUsers().subscribe((result) => {
      this.users = result;
    });
  }

}
  

admin.component.html:

<tr *ngFor="let user of users">
    <td>{{user.username}}</td>
    <td>{{user.firstName}}</td>
    <td>{{user.lastName}}</td>
</tr>

答案 1 :(得分:0)

Simple API

使用Angular HTTPClient调用该API

// this.http.get("http://jsonplaceholder.typicode.com/users").
//     subscribe((data) ⇒ console.log(data))

this.http.get("this is your servie URL ").
          subscribe((data) ⇒ console.log(data))

答案 2 :(得分:-1)

您没有提供您的应用程序组件,但我想您还没有制定一种从服务中获取数据的方法。与我分享一种从服务获取数据的方法。

如果您使用Http请求(使用Rest API),则:

这就是您的服务的外观:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Container } from '../Container';



  @Injectable({
    providedIn: 'root'
  })
  export class MarinServiceService {

    Marinurl : string = 'http://192.168.0.83/MarinApi/api/Values';
    constructor(private http : HttpClient) { }


    public getAllContainers():Observable<Container[]>{
      return this.http.get<Container[]>(this.Marinurl)
    }
}

根据您的名称更改方法名称和对象。

这是Component方法:

users  = [];

ngOnInit() {
  this.marinService.getAllContainers().subscribe((result)=>{
    this.users = result;

根据您的姓名进行更改。

基本上,您需要预订方法->将其视为订阅YouTube频道的观看者。并且不断寻找新视频。

相关问题