我试图通过遵循这里的教程,使用Spring boot在Java中创建一个RESTful应用程序。我想修改它,以便可以从URL中提取标识符,并使用它来服务请求。
所以http://localhost:8080/members/
将所有http://localhost:8080/members/*映射到单个控制器。
- 从URL中提取。
- 按照MVC架构,提取memberId并使用它的逻辑应该是控制器的一部分还是单独的类?
我是Spring/Spring-boot/MVC的新手。开始时很困惑。所以请耐心回答我的新手问题。
正如您在下面的代码中所看到的,客户服务在一个控制器中获得一个控制器并添加新客户。
因此,您将有2项服务:
http://localhost:8080/customer/
http://localhost:8080/customer/{id}
@RestController("customer")
public class SampleController {
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public Customer greetings(@PathVariable("id") Long id) {
Customer customer = new Customer();
customer.setName("Eddu");
customer.setLastname("Melendez");
return customer;
}
@RequestMapping(value = "/{id}", method = RequestMethod.POST)
public void add(@RequestBody Customer customer) {
}
class Customer implements Serializable {
private String name;
private String lastname;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getLastname() {
return lastname;
}
}
}
将所有http://localhost:8080/members/*映射到单个控制器。
您可以在请求映射中使用占位符,以处理多个URL。例如:
@RequestMapping("/members/{id}")
从URL中提取id
您可以使用PathVariable注释将占位符的值注入控制器方法,该注释的值与占位符的名称匹配,在本例中为“id”:
@RequestMapping("/members/{id}")
public Member getMember(@PathVariable("id") long id) {
// Look up and return the member with the matching id
}
根据MVC架构,提取和使用memberId的逻辑应该是控制器的一部分还是一个单独的类?
您应该让Spring MVC从URL中提取成员id,如上图所示。至于使用它,您可能会将URL传递给某种提供findById方法的存储库或服务类。
我正在尝试使用spring boot和hibernate。当我使用存储库时,它工作得很好,但我正在尝试使用Hibernate会话来创建DAO,而这个DAO不是事务的一部分。 这是测试代码: 应用Java语言 UserBusinessImpl。java: 用户存储库。Java语言 用户DAO: 当我尝试getCurrentSession()时,它抛出了一个错误。openSession()与我的事务分
我在本地系统上创建了一个带有Rest控制器和Oracle的spring boot应用程序,通过IDE它运行良好,mvn build was fine包也很好,但如果我将其作为可执行jar运行,我会得到以下错误。我有申请表。我提供的所有spring的属性。数据源,但这里我得到了错误。请告知。 这是我的pom.xml: 我正在尝试Spring Boot并尝试将其作为可执行的jar运行。
我正在尝试使用现有的Gradle Spring MVC项目设置Spring执行器。我无法使用@EnableAutoConfiguration。不幸的是,我无法到达执行器endpoint,我想我遗漏了一些东西。 项目中的Spring依赖项包括: 我正在尝试使用以下内容配置project: 在属性文件中,我添加了: 没有启用执行器endpoint,当尝试访问它们时,我得到404。我经历了许多相关问题,
我目前正在尝试编写一个Spring Boot启动器,它将使用API网关自动验证我们的微服务,并在所有传出请求(针对网关)的标头中包含访问令牌。 我正在创建一个RestTemboard bean并为其提供我们的自定义拦截器,但我的问题是,通过这样做,我阻止其他团队(将使用此启动器)使用他们自己的RestTemboard配置,因为他们必须定义导致多个bean存在的相同bean。 是否有其他方法可以拦截
我目前正在开发一个以Spring Boot为后端的Angular 4应用程序。我使用Maven来构建如中所述配置的项目https://blog.jdriven.com/2016/12/angular2-spring-boot-getting-started/ 我现在想用其他语言翻译这个应用程序。我看着http://www.baeldung.com/spring-boot-international
我想将Spring启动执行器添加到我的应用程序,但当我添加此依赖项时 我得到以下错误 java.lang.reflect.InvocationTargetException at_NativeMethodAccessorImpl.invoke0(Native Method)at(...)由以下原因引起:org.springframework.beans.factory.不满意DependencyE