我正在尝试设置一个可以通过REST访问的Spring-Boot应用程序。首先,我希望它仅输入一个数字并将数字2
添加到其中并返回结果。
现在,我构建了一个WAR
文件并将其部署在我的tomcat上,以便可以尝试从Angular
项目访问它。首先,我想用cURL
对其进行测试,以确保其正常工作。
我做了什么?
WAR
文件WAR
文件移到我的xampp/tomcat/webapps/
xampp
启动我的tomcat(在端口8080、8005、8009上运行)cmd
并进入我的cURL
目录curl.exe -H "number: 5" http://localhost:8009/number/
错误:
意外抛出:错误:堆大小'数字:5'格式错误。
我进行了以下设置:
src/com/example/demo
|
---DemoApplication.java
|
---/controller
| |---NumberController.java
---/dto
| |---EntryDto.java
---/service
|---EntryService.java
NumberController.java
@RequestMapping("/number")
@RestController
public class NumberController {
@Autowired
EntryService entryService;
@RequestMapping(value="/number/{number}")
public EntryDto receiveNumber(int number) {
return entryService.createEntryDtoFromNumber(number);
}
}
EntryDto.java
public class EntryDto {
private int value;
public EntryDto(int value) {
this.value = value;
}
public void increaseValue(int increaseValue) {
this.value = this.value + increaseValue;
}
public int getValue() {
return this.value;
}
public void setValue(int value) {
this.value = value;
}
}
EntryService.java
@Service
public class EntryService {
public EntryDto createEntryDtoFromNumber(int number) {
entryDto = new EntryDto(number);
entryDto.increaseValue(2);
return this.entryDto;
}
}
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-mockmvc</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>