我是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);
}
}
谢谢你的帮助。
1条答案
按热度按时间js5cn81o1#
问题最终很简单。我做了所有需要的事情,但是我在buddy-actice.vue中导入了错误的脚本。如果你有同样的问题,你可以简单地阅读我的原始评论。不过,您必须自己完成java端点。
谢谢你,嘎ë谢谢你给我指出了正确的方向。