java - 无法从 Spring boot 的 RestController 检索对象到 Angular 6 服务

标签 java angular spring spring-boot

我有以下代码片段

我的休息 Controller :

    @RestController
    @RequestMapping("/hello")
    public class HelloController{
      @RequestMapping(method = RequestMethod.GET, path="getUser")
      public UserDetails getUserDetails(){
        return userdetails;
      }
    }

模型对象

    Public Class UserDetails{
       public String name;
       public String role;
    //getters and setters go here

    }

Angular 代码 应用组件.ts

    baseUrl = "/hello"
    userdetails: UserDetails;

    this.http.get(`${this.baseUrl}`).subscribe((data : any) => 
         this.userdetails = data);
    console.log(this.userdetails);

用户详细信息.ts

    export class UserDetails {
        name: string;
        role: number;
    }

调用将发送到 Controller (我在 Debug模式下检查),但无法获得对 Angular 响应(用户详细信息未定义)

最佳答案

确保您使用与服务中相同的变量类型:

UserDetails.ts
    export class UserDetails {
        name: string;
        role: string;
    }

还尝试在调用中使用泛型以确保类型兼容性:

this.http.get<UserDetails>(`${this.baseUrl}`).subscribe((data : UserDetails)

关于java - 无法从 Spring boot 的 RestController 检索对象到 Angular 6 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55470120/

相关文章:

java - 可以用mockito验证以匿名内部类作为参数的方法调用吗?

java - hashmap和hashtable的区别|

java - 如何在按键后解析下一个节点属性(Java DOM Parser)

angular2 Material 设计 - react 形式 - md-select 不填充默认值

angular - 如何在 typescript 文件Angular 4中获取输入字段的值

java - 让一个 Tomcat 应用程序从另一个应用程序获取一个 bean

java - Dao 和服务接口(interface)的需求

Java JLabel 使用 StackOverflowError 旋转

javascript - 带有 angular2 和 grunt 错误 TS2304 : Cannot find name 的 typescript

java - Spring Boot 2.1.x JSP 文件已找到但未呈现