我是春季开发的新手,想知道它们之间有什么区别
MediaType.APPLICATION_JSON_VALUE
和MediaType.APPLICATION_JSON
?
我想到两者都代表相同的application/json
内容类型,但如果我放MediaType.APPLICATION_JSON
,则会显示一些编译器错误,以便为我的其余部分添加@controller
和@ResponseBody
注释控制器和何时使用MediaType.APPLICATION_JSON
?
@RequestMapping(value="/invite", method = POST, consumes = { MediaType.APPLICATION_JSON })
public @ResponseBody String sendInvite( ... ) { ... }
答案 0 :(得分:16)
引用javadoc,MediaType.APPLICATION_JSON
是application/json
"的公共常量媒体类型,而MediaType.APPLICATION_JSON_VALUE
是"等效于MediaType.APPLICATION_JSON
"。
Java注释的属性只能是一组有限的类型之一。这可以防止MediaType
用作注释属性。要解决此问题,我会使用String
以及String
上MediaType
的各种MediaType.APPLICATION_JSON_VALUE
常量,包括MediaType
。
在注释之外,如果要引用媒体类型,则应使用更强类型的String
而不是传递MediaType.APPLICATION_JSON
,这可能是也可能不是媒体类型。因此,例如,您使用MediaType.APPLICATION_JSON_VALUE
而不是from selenium import webdriver
htmlString = '<html><body><div style="background-color:red;height:500px;width:500px;">This is a png</div></body></html>'
driver = webdriver.PhantomJS() # the normal SE phantomjs binding
driver.set_window_size(1024, 768)
driver.get('https://google.com/') # whatever reachable url
driver.execute_script("document.write('{}');".format(htmlString)) # changing the DOM
driver.save_screenshot('screen.png') #screen.png is a big red rectangle :)
driver.quit()
print "png file created"
。