当前位置: 首页 > 知识库问答 >
问题:

前端endpoint与后端endpoint(spring boot和vuejs)

郏志诚
2023-03-14

有点基于本指南:

https://jaxlondon.com/blog/java-core-languages/put-spring-boot-und-vue-js-ustual-use-project-tutorial/

我已经创建了一个多模块maven项目,其中一个子模块是我的后端,另一个子模块是我的前端。当我首先构建整个项目时,前端是“构建”,然后它的dist/资源被复制到后端,后端再进行构建,我可以成功地用java-jar target/backend-1.0.0-snapshot启动spring boot后端,并在localhost:8080上访问它

@RestController
public class GreetingController {

  private static final String template = "Hello, %s!";
  private final AtomicLong counter = new AtomicLong();

  @RequestMapping("/greeting")
  public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
    return new Greeting(counter.incrementAndGet(), String.format(template, name));
  }

  @RequestMapping("/")
  public Greeting root(@RequestParam(value = "name", defaultValue = "Root!") String name) {
    return new Greeting(counter.incrementAndGet(), String.format(template, name));
  }
}

Vue.use(Router);

const router = new Router({
    mode: 'history',
    base: process.env.BASE_URL,
    routes: [
        {
            path: '/',
            name: 'home',
            component: HomeRoute
        },
        {
            path: '/myroute',
            name: 'myroute',
            component: MyRoute
        }
    ]
});

export default router;
<template>
<div class="hello">
    <li>
      <router-link to="/MyRoute">GoToMyRoute</router-link>
    </li>
    <li>
      <router-link to="/">GoToHome</router-link>
    </li>
    <router-view></router-view>
</div>
</template>

基于以上,我的问题变成:

  1. 如果我想在浏览器中直接访问每个vuejs路由,是否需要为其维护后端RequestMapping?
  2. 如何分离/排序前端endpoint和后端endpoint?现在,与纯粹的前端endpoint/路由相比,后端endpoint何时被访问似乎没有约定。

共有1个答案

毕魁
2023-03-14

我建议你这样做:

>

  • 在后端有一个“UI”控制器,它可以将任何未映射的路由转发到前端应用程序,例如:

    @RequestMapping(value = "/**/{[path:[^\\.]*}")
    public String redirect() {
        // Forward to home page so that route is preserved.
        return "forward:/";
    }
    

  •  类似资料:
    • 我正在寻找一个解决方案,让我做一个角组件监听一个后端对象,得到一些其他服务的更新。 实际上,我有一个名为的组件,它显示客户签名的实际状态。对象中的此仅在后端通过REST公开到第三方服务的endpoint进行更新,该endpoint允许用户执行数字签名。 我的问题是,一旦第三方服务执行回调以更改状态,如何用实际状态实时更新UI。 为了便于您了解,我使用作为后端,使用作为前端。

    • 我对RxJava非常陌生,我仍在尝试理解数据流,但我想知道这是否可能,然后再深入兔子洞。 目标:解耦API资源并允许其分布,同时为客户端(web/移动)提供灵活性,以便根据仅提供给少数“已知”APIendpoint的href链接获取数据。 我从一个API中收集了JSON对象,其中每个json都有一个“href”字段,该字段提供指向API资源的链接,可以在其中检索数据的全部详细信息。例如: 检索此集

    • 在中,我正在填充和。现在,我需要定义一个新的路由,它使用来自上传队列的消息,并复制一个本地文件夹(基于在上一个路由中生成的Id),并将其上传到目标文件夹,该文件夹是一个ftp服务器(这也在上一个路由中填充) 那么,如何设计一条新的路线,其中从和到终点都是动态的,如下所示?

    • 前端 Front-end 和后端 Back-end 是描述进程开始和结束的通用词汇。前端作用于采集输入信息,后端进行处理。 这种说法给人一种很模糊的感觉,但是他说得又很对,它负责视觉展示。在 MVC 或者 MVP 结构中,负责视觉显示的部分只有 View 层,而今天大多数所谓的 View 层已经超越了 View 层。前端是一个很神奇的概念,但是而今的前端已经发生了很大的变化。你引入了 Backbo

    • 终端设备类型定义 Fieldsid (ID!) 终端IDvendorId (ID) 技能IDdeviceInfo (JSON) 终端设备详细信息name (String) 终端设备名userId (ID!) 用户IDroomId (ID) 房间IDskillId (ID) 技能IDhomeId (ID!) 家庭IDalias (String) 设备别名state (JSON) 设备状态action

    • 后端 这是来自领域设置