код тестирования spring requestmapping не работает - PullRequest
0 голосов
/ 19 июня 2020

Я изучаю Spring 5, и я не могу использовать аннотацию @RequestMapping и не знаю, почему

@ RequestMapping включает аннотацию @Component, поэтому я просто подумал, что могу использовать эту

initRequest включает Параметр URL по строке

я просто ожидал, что параметр initRequest (/ hello) связывает URL

вот мой код

public class SimpleControllerTest extends AbstractDispatcherServletTest {
@Test
public void helloSimpleController() throws ServletException, IOException {
    setClasses(HelloController.class);
    initRequest("/hello").addParameter("name", "spring");
    runService();
    assertModel("message", "Hello spring");
    assertViewName("/WEB-INF/view/hello.jsp");
}

@Test(expected=Exception.class)
public void noParameterHelloSimpleController() throws ServletException, IOException {
    setClasses(HelloController.class);
    initRequest("/hello");
    runService();
}

@Component("/hello")
//@RequestMapping("/hello")
static class HelloController extends SimpleController {
    public HelloController() {
        this.setRequiredParams(new String[] {"name"});
        this.setViewName("/WEB-INF/view/hello.jsp");
    }

    public void control(Map<String, String> params, Map<String, Object> model) throws Exception {
        model.put("message", "Hello " + params.get("name"));
    }
}

static abstract class SimpleController implements Controller {
    private String[] requiredParams;
    private String viewName;

    public void setRequiredParams(String[] requiredParams) {
        this.requiredParams = requiredParams;
    }

    public void setViewName(String viewName) {
        this.viewName = viewName;
    }

    final public ModelAndView handleRequest(HttpServletRequest req,
                                            HttpServletResponse res) throws Exception {
        ...
    }


    public abstract void control(Map<String, String> params, Map<String, Object> model) throws Exception;
}

}

1 Ответ

0 голосов
/ 19 июня 2020

Вам нужно поработать над основами Spring. Ваше понимание того, какие аннотации делают, что является неправильным и неполным. Следующие ссылки дают хорошее представление об этом. Go с их помощью измените свой код, и вы решите эту проблему без помощи.

Аннотации Spring Framework

Spring Annotations - JournalDev

...