我有一个api调用:
@RequestMapping(value = "/course", method = RequestMethod.GET)
ResponseEntity<Object> getCourse(HttpServletRequest request, HttpServletResponse response) throwsException {
User user = userDao.getByUsername(request.getRemoteUser());
}
当我从测试类中调用它时,我得到了用户null,例如:
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
Mockito.when(request.getRemoteUser()).thenReturn("test1");
MvcResult result = mockMvc.perform( get( "/course")
.contentType(MediaType.APPLICATION_JSON)
.andExpect( status().isOk() )
.andExpect( content().contentType( "application/json;charset=UTF-8" ) )
.andReturn();
调试请求对象时,我可以看到remoteUser=null。那么,我如何将值传递给远程用户呢?
在Kotlin中,要在MockHttpServletRequest中设置remoteUser,请使用WithMockUser注释。
>
在build.gradle.kts中添加依赖项testImplementation(“org.springframework.security:spring-security-test:4.0.4.RELEASE”)
在测试中添加WithMockUser(username=“user”)
@WebMvcTest(controllers = [DossierController::class])
internal class DossierControllerTest {
@MockkBean
lateinit var request: MockHttpServletRequest
@Test
@WithMockUser(username = "user")
fun createDossierTest() {
}
}
您可以使用RequestPostProcessor以任何方式修改MockHttpServletRequest。就您而言:
mockMvc.perform(get("/course").with(request -> {
request.setRemoteUser("USER");
return request;
})...
如果你坚持使用旧版本的Java:
mockMvc.perform(get("/course").with(new RequestPostProcessor() {
@Override
public MockHttpServletRequest postProcessRequest(MockHttpServletRequest request) {
request.setRemoteUser("USER");
return request;
}
})...
问题内容: 我正在用来启动该应用程序。我不想知道应用程序的退出状态,而只想启动exe。 我需要将参数传递给该exe 请提出一种在Python中运行此方法的方法。 问题答案: 您应该使用的模块,而不是或在任何情况下,我所知道的。 您 可以 按照@Hackaholic在评论中的建议进行操作 但这并不简单,建议使用docs代替。
我一直试图从一个对象数组填充一个JTable,但是什么也没有显示出来。下面是填充表的方法代码。system.out.println使我能够检查数据是否正确传递,变量中是否有值。这是来自界面的: 即使来自接口的数据显示在控制台中,也只显示表头。如果有人能解决如何正确地将数据值传递给JTable,那就太棒了!
我正在使用一个应用程序,它的前端使用html、Javascript和jQuery,后端和数据库使用Java和Oracle。 目前,它将数据从前端传回java,并在后端附加一个URL参数,如http://localhost/28182391238912398172 然后,它使用一个ajaxget请求,使用URL中的id调用servlet,以运行一个准备好的语句,使用Java查询数据库。 我需要做的是
我需要你的帮助,在这个特殊的问题上,我想传递一个隐藏输入类型的值。jsp程序到servlet程序 我现在做的基本上是这样的 从servlet中我得到了值 它没有打印任何想法。jsp表单方法是post,servlet方法是doPost 有什么想法为什么它不传递参数吗?
我可以在p元素上看到扫描的值(id=“code”)。我如何用这个值填充文本框? 实际上,当我按下扫描条形码按钮时,相机打开并扫描一个EAN13条形码,值显示在P元素中(590123...是条形码)。可以在下面看到。但我想在TextBox中看到这个值。
所以基本上我有我的rootFolderId在我的application.properties 我需要把它放到控制器里 并在@RequestParam中使用它,例如: 但是我遇到了“属性值必须是常数”的问题。有什么方法可以让它工作吗?