jhipster with vue-如何在前端显示来自后端的数据

hgc7kmma  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(404)

我是jhipster的新手,创建了第一个端点,它为我提供了连接用户的实体“buddy”:

@GetMapping("/buddies/view")
    public ResponseEntity<Buddy> getConnectedBuddy() { [...] }

这工作正常,我可以在日志中看到,连接到该页的用户触发控制器,get成功并提供给我用户:

Exit: com.mycompany.myapp.web.rest.AccountResource.getAccount() with result = UserDTO{login='haha', firstName='null', lastName='null', email='haha@gmail.com', imageUrl='null', activated=true, langKey='en', createdBy=anonymousUser, createdDate=2020-12-10T14:27:22.264Z, lastModifiedBy='anonymousUser', lastModifiedDate=2020-12-10T14:27:22.264Z, authorities=[ROLE_USER]}

现在,我想在一个类似http://localhost:9000//{id}/查看页面。我复制了buddy-details.vue和buddy-details.component.ts并进行了必要的更改,成功地创建了页面本身,还将新页面添加到了“entities.ts”文件中。这一切都在起作用。
但是现在我得到了带有实体表单的视图页面,尽管其中没有任何数据。你能告诉我:如何用typescript获取后端数据?
我想我必须使用buddy.service.ts类,但我不知道如何使用。
编辑(附加信息):
在my buddy.service.ts中,我创建了get()方法:

public get(): Promise<IBuddy> {
    return new Promise<IBuddy>((resolve, reject) => {
      axios
        .get(`${baseApiUrl}/view`)
        .then(res => {
          resolve(res.data);
        })
        .catch(err => {
          reject(err);
        });
    });
  }

然后在自建的buddy-active.component.ts中调用:

import { Component, Vue, Inject } from 'vue-property-decorator';

import { IBuddy } from '@/shared/model/buddy.model';
import BuddyService from './buddy.service';

@Component
export default class BuddyActive extends Vue {
  @Inject('buddyService') private buddyService: () => BuddyService;
  public buddy: IBuddy = {};

  beforeRouteEnter(to, from, next) {
    next(vm => {
        vm.getBuddy();
    });
  }

  public getBuddy() {
    this.buddyService()
      .get()
      .then(res => {
        this.buddy = res;
      });
  }

  public previousState() {
    this.$router.go(-1);
  }
}

谢谢你的帮助。

js5cn81o

js5cn81o1#

问题最终很简单。我做了所有需要的事情,但是我在buddy-actice.vue中导入了错误的脚本。如果你有同样的问题,你可以简单地阅读我的原始评论。不过,您必须自己完成java端点。
谢谢你,嘎ë谢谢你给我指出了正确的方向。

相关问题