我尝试使用RPC dart包实现API。
在我发现的所有示例中,响应是手动构建的(即新的Response().. message =" hello")。
在我的情况下,我从mongodb读取JSON数据,并希望以最小的转换返回它们(基本上只选择外部属性)。
方法架构的import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringRunner.class)
@WebMvcTest(controllers = MainApp.class)
public class AuthenticationTest {
@Autowired
private MockMvc mockMvc;
@Test
@WithMockUser(username = "admin", roles = {"USER", "ADMIN"})
public void shouldReturn200WhenSendingRequestToControllerWithRoleUser() throws Exception {
mockMvc.perform(get("/test")).andExpect(status().isOk());
}
}
可用于执行此操作:
fromRequest
我的代码中的问题是第一行( class QueryResult {
//my props
}
@ApiMethod(path: "myMongoQuery")
Future<List<QueryResult>> myMongoQuery() async {
var schema = _server.apiMap["/query/v1"].schemaMap["QueryResult"];
var results = await coll.find();
return results.map(schema.fromRequest).toList();
}
)它是一个纯粹的黑客来检索我的方法的架构。
我尝试使用镜像以优雅/通用的方式检索架构,但没有成功。
任何人都可以帮助我吗?
干杯,
尼古拉斯