我编写了一个spring控制器,在其中我只想对所有方法使用单个URL。即使我使用不同的方法签名int,字符串,对象,我也遇到了错误。
@RequestMapping(value="problemAPI/ticket", method = RequestMethod.GET )
public @ResponseBody String getTicketData(@RequestParam("customerId") int customerId) {
return "customer Id: "+customerId+" has active Ticket:1010101";
}
@RequestMapping(value="problemAPI/ticket", method = RequestMethod.GET )
public @ResponseBody String getTicketStatusByCustname(@RequestParam("customerName") String customerName) {
return "Mr." + customerName + " Your Ticket is Work in Progress";
}
@RequestMapping(value="problemAPI/ticket", method = RequestMethod.POST )
public @ResponseBody String saveTicket(@RequestBody TicketBean bean) {
return "Mr." + bean.getCustomerName() + " Ticket" + bean.getTicketNo() + " has been submitted successfuly";
}
Run Code Online (Sandbox Code Playgroud)
错误:
java.lang.IllegalStateException: Ambiguous mapping …Run Code Online (Sandbox Code Playgroud) 通常主线程首先启动,然后用户线程启动,但在下面的代码我无法弄清楚主线程将睡眠还是t1线程.
MessageGenerator.java
public class MessageGenerator implements Runnable {
String msg;
public MessageGenerator(String msg) {
super();
this.msg = msg;
}
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+" Running");
System.out.println(msg);
}
}
Run Code Online (Sandbox Code Playgroud)
MainClass.java
public class MainClass {
public static void main(String[] args) throws InterruptedException {
Thread t1=new Thread(new MessageGenerator("Hello"));
t1.sleep(5000); //Confused here
t1.start();
Thread t2=new Thread(new MessageGenerator("Hi"));
t2.start();
System.out.println(Thread.currentThread().getName()+" Running");
}
}
Run Code Online (Sandbox Code Playgroud)
请回复