我想通过SpringBoot实现REST服务来创建前端Web API,我想得到一个Spring Application的例子吗?
我已经为Comment类实现了模型,这是我的代码.........
包Spring.Spring.model;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection="collection")
public class Comment {
@org.springframework.data.annotation.Id
private String Id;
private String message;
public String getID(){
return Id;
}
public void setId(String id){
Id=id;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
要连接到后端,我有像这样的应用程序属性文件
server.port=8881
spring.data.mongodb.host=localhost
spring.data.mongodb.post=27017
spring.data.mongodb.database=comments
答案 0 :(得分:0)
我已根据您的模型实施了服务
package SpringBootWithMongo.SpringBootWithMongo.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import SpringBootWithMongo.SpringBootWithMongo.model.User;
import SpringBootWithMongo.SpringBootWithMongo.model.UserRepository;
@RestController
@RequestMapping("/")
public class UserService {
@Autowired
private UserRepository repository;
@RequestMapping(method = RequestMethod.POST)
public void AddUser(@RequestBody User instance) {
try {
repository.save(instance);
} catch(Exception e) {
e.printStackTrace();
}
}
@SuppressWarnings("finally")
@RequestMapping(method = RequestMethod.GET)
public List<User> GetAllUsers() {
List<User> userList = null;
try {
userList = repository.findAll();
} catch(Exception e) {
e.printStackTrace();
} finally {
return userList;
}
}
@SuppressWarnings("finally")
@RequestMapping(value = "/{Id}", method = RequestMethod.GET)
public User getSingle(@PathVariable String Id) {
User instance = null;
try {
instance = this.findOne(Id);
} catch(Exception e) {
e.printStackTrace();
} finally {
return instance;
}
}
@RequestMapping(value = "/{Id}", method = RequestMethod.PUT)
public void updateUser(@RequestBody User instance, @PathVariable String Id) {
try {
User updateInstance = this.findOne(Id);
updateInstance.setName(instance.getName());
repository.save(updateInstance);
} catch(Exception e) {
e.printStackTrace();
}
}
@RequestMapping(value = "/{Id}", method = RequestMethod.DELETE)
public void deleteUser(@PathVariable String Id) {
try {
repository.delete(this.findOne(Id));
} catch(Exception e) {
e.printStackTrace();
}
}
@SuppressWarnings("finally")
private User findOne(String Id) {
User instance = null;
try {
List<User> userList = repository.findAll();
for(User user: userList) {
if(user.getId().equals(Id)) {
instance = user;
break;
}
}
} catch(Exception e) {
e.printStackTrace();
} finally {
return instance;
}
}
}
答案 1 :(得分:0)
请参阅此代码以获取存储库
package SpringBootWithMongo.SpringBootWithMongo.model;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends MongoRepository<User, String>{
}