小编Rus*_*iye的帖子

如何解决弹簧控制器中的请求映射“模糊”情况?

我编写了一个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)

java spring spring-mvc

4
推荐指数
1
解决办法
879
查看次数

这个代码中哪个线程正在睡觉?主线程还是t1线程?

通常主线程首先启动,然后用户线程启动,但在下面的代码我无法弄清楚主线程将睡眠还是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)

请回复

java multithreading

1
推荐指数
1
解决办法
61
查看次数

标签 统计

java ×2

multithreading ×1

spring ×1

spring-mvc ×1