我已经制作了一个程序来使用第三部分API:我有一个名为:NewsService的服务
@Service
public class NewsService {
@Autowired
private NewsRepository newsRepository;
public List<News> getTopStories() throws Exception{
RestTemplate restTemplate = new RestTemplate();
JSONObject news = new JSONObject();
NewsStories newsentity = new NewsStories();
List<News> stories = new ArrayList<News>();
ObjectMapper mapper = new ObjectMapper();
String getUrl = "https://api.nytimes.com/svc/topstories/v2/home.json?api-key=84e19f8ee1c7489a97481d2ed85af15c";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<Map> entity = new HttpEntity<Map>(headers);
ResponseEntity<Map> newsList = restTemplate.exchange(getUrl, HttpMethod.GET, entity, Map.class);
if (newsList.getStatusCode() == HttpStatus.OK) {
news = new JSONObject(newsList.getBody());
newsentity = mapper.readValue(news.toString(),NewsStories.class);
newsentity.getStories().forEach(stories::add);
}
return stories;
}
}`
我有我的控制器
@RestController
@RequestMapping("/api/")
public class NewsController {
@Autowired
NewsService newsService = new NewsService();
@RequestMapping(value = "/news/topstories", method = RequestMethod.GET)
public @ResponseBody List<News> getNews() throws Exception {
return this.newsService.getTopStories();
}
}`
一切都是好的,然而,当我运行我的测试(我不能改变它由内部审计控制)这里我的测试。
@SpringBootTest
@RunWith(SpringRunner.class)
public class ProjectApplicationTests {
private MockMvc mockMvc;
@Autowired
WebApplicationContext context;
@Before
public void setup() {
mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
}
@Test
public void Newstest_ok() throws Exception {
mockMvc.perform(get("/api/news/topstories" )).andDo(print())
.andExpect(status().isOk())
.andExpect(MockMvcResultMatchers.jsonPath("$.title").exists())
.andExpect(MockMvcResultMatchers.jsonPath("$.section").exists());
}`
接下来,在运行程序时,我遇到了程序中检查验证Exist()的问题。你能帮帮我吗?下面的日志之后运行测试。
null
`
使用Postman http://localhost:8080/api/news/topstories,我获得了Json数据,状态为200 OK。
根据JSON响应,我们可以看到controller将body作为对象数组返回。
要访问spring MVC测试中的每个对象,请使用以下断言:
.andExpect(jsonPath("[0].title").value("titlevalue0"))
.andExpect(jsonPath("[1].title").value("titlevalue1"))
我有3个项目,ProjectB,ProjectC。 当我构建ProjectB时,它没有任何问题。但是当我试图构建ProjectA时,它在控制台上出现以下错误而失败。 评估项目“:ProjectB”时出现问题。在项目:ProjectB中找不到路径为:ProjectC的项目。 build.gradle-ProjectC settings.gradle-ProjectC build.gradle - 项
嗨,我在Java用jackson写了一个JSON树解析器。现在我想在JSON中找到每个属性的路径。JSON示例: 此JSON中的路径示例如下: 它具有价值 我编写的解析器获取直接包含一个值(而不是另一个JSON对象)的所有属性。代码如下: 代码的运行方式如下: 结果是: 现在,对于其中的每一个,我都希望获得JSON中的路径。所以: 等等....
问题内容: 任何人都可以解释一下Spring中path属性如何将对象从html形式绑定到Java类。我是Spring Web Framework的新手,请帮忙。 问题答案: 长话短说,使用Java bean约定将path属性绑定到Java属性中。例如以下形式: 以及以下控制器处理程序方法: 如果使用以下属性定义了Student类,则将自动绑定: 规范文档的第8.3节提供了有关JavaBeans对流
我正在写一个Spring MVC,并坚持以下错误: 18:34:44999警告[org.springframework.web.context.support.XmlWebApplicationContext](MSC服务线程1-1)在上下文初始化过程中遇到异常-取消刷新尝试:org。springframework。豆。工厂BeanCreationException:创建名为“org”的bean时
16.2. 找到路径 从命令行运行 Python 代码时,知道所运行代码所在磁盘上的存储位置有时候是有必要的。 这是一个你很难自己弄明白,却一看到就会想起的小麻烦。核心功能来源于 sys.argv。正如你在 第 9 章 XML 处理 中看到的,它包含了很多命令行参数。 当然就像从命令行中运行他们一样,它也同样记录了运行脚本的名字,这些信息足以令我们确定文件的位置。 例 16.3. fullpath
问题内容: 节点中是否有类似“ path.resolve”的API?还是有什么可以做的? 例如(nodejs代码): 应该得到: 问题答案: 解决(表示用户的家)是另一回事,通常是由外壳来解决。。 如果要通过Go代码执行此操作,则可以使用该函数获取有关当前用户的详细信息,包括其主文件夹(即)。但是,您仍然必须自己替换它。 原始答案如下。 您可以使用或。 例如: 输出: 您可以使用和从路径中“删除”