0
私は、ユーザーがMongodbから顧客を検索できるようにするサンプルアプリケーションを持っていました。(それはうまくいきます)、アプリケーションをアップグレードしようとしました。ユーザーはIDを持つ顧客を追加、更新、削除することができます。Springブート、Mongodb、jquery ajax、java
新しい顧客を追加したり削除したりするには、いくつかの方法を試しました。しかし、それはそれに反応する。解決方法その My FULL CODE
私のhtmlページ私のCustomerRestControllerクラスのほかに
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<input name="search" type="text" maxlength="100" id="search"/>
<button onclick="searchID()"> Search ID </button>
<button onclick="showAll()"> Show All </button>
<div id="persons"></div>
<script>
function searchID()
{
var id = document.getElementById("search").value;
$("#persons").html("");
$.getJSON("http://localhost:8080/customers/" + id, function(data)
{
for (var i in data) {
$('#persons').append("<p>ID: " + data[i].id + "</p>")
$('#persons').append("<p>First name: " + data[i].firstName + "</p>")
$('#persons').append("<p>Last name: " + data[i].lastName + "</p><br>")
}
});
}
function showAll()
{
$("#persons").html("");
$.getJSON("http://localhost:8080/customers/", function(data)
{
for (var i in data) {
$('#persons').append("<p>ID: " + data[i].id + "</p>")
$('#persons').append("<p>First name: " + data[i].firstName + "</p>")
$('#persons').append("<p>Last name: " + data[i].lastName + "</p><br>")
}
});
}
</script>
<h2>Add Customer</h2>
<form action="http://localhost:8080/customers" method="POST">
ID <input type="text" id="id" name="id" /><br />
FirstName <input type="text" id="firstName" name="firstName" /><br />
LastName <input type="text" id="lastName" name="lastName" /><br />
<input type="submit" />
</form>
<h3>Update a customer</h3>
<form action="http://localhost:8080/updateCustomer" method="POST">
ID <input type="text" id="id" name="id" /><br />
FirstName <input type="text" id="firstName" name="firstName" /><br />
LastName <input type="text" id="lastName" name="lastName" /><br />
<input type="submit" />
</form>
<h4>Delete a customer</h4>
<form action="http://localhost:8080/deleteCustomer" method="POST">
ID <input type="text" id="id" name="id" /><br />
<input type="submit" />
</form>
</body>
</html>
:あなたがビューのリクエストを処理するためのコントローラメソッドを持っていないようだ
@RestController
public class CustomerRestController
{
@Autowired
CustomerMongoRepository customerRepository;
@Autowired
private CustomerDAO customerDAO;
@CrossOrigin
@GetMapping("/customers")
public ArrayList<Customer> getCustomers()
{
customerDAO = new CustomerDAO();
return customerDAO.getCustomers();
}
@CrossOrigin
@GetMapping("/customers/{id}")
public ArrayList<Customer> getCustomer(@PathVariable("id") int id)
{
customerDAO = new CustomerDAO();
return customerDAO.get(id);
}
@RequestMapping(method = POST)
@ResponseStatus(CREATED)
public void createCustomer(@RequestBody Customer customer,
HttpServletResponse response) {
customerDAO.save(customer);
response.setHeader("Location", String.format("/rest/customers/%s",
customer.get(id)));
}
@RequestMapping(value = "/{id}", method = GET)
@ResponseBody
public Customer showCustomer(@PathVariable Customer.id id) {
return customerDAO.findBy(id);
}
@RequestMapping(value = "/{id}", method = PUT)
@ResponseStatus(OK)
public void updateCustomer(@RequestBody Customer customer) {
customerDAO.save(customer);
}
@RequestMapping(value = "/{id}", method = DELETE)
@ResponseStatus(OK)
public void deleteCustomer(@PathVariable Customer.id id) {
customerDAO.delete(id);
}
}
あなたは例外を示す抱えている正確な問題を提供してください。 – codependent
これは単に顧客を検索してすべての顧客を表示するだけで反応しますが、既存の顧客の追加や削除には反応しません:) –