我正在使用Spring MVC,我使用简单的HTML表单。我正在使用GET方法向gracenote发送HTTPS请求,但我需要使用POST方法。使用GET它工作正常,但我无法使用POST方法。我需要接收JSON响应而不是XML。是否可以使用POST方法并接收JSON响应?我知道通过构建XML请求链接我通过POST方法发送,但后来我收到XML响应(信息:https://github.com/richadams/java-gracenote)。
GET方法代码:
我在recommended.jsp中的HTML表单
<spring:url value="/recommendedSongs.view" var="formUrl"/>
<form:form action="${formUrl}" method="POST" modelAttribute="command">
<form:label path="artistName">Artist name</form:label>
<form:input path="artistName" id="artistInput"/>
<form:label path="trackTitle">Track title</form:label>
<form:input path="trackTitle" id="trackInput"/>
<input type="submit" value="Submit"/>
</form:form>
模型getter和setter
public class RecommendedFormDataCommand {
private String artistName;
private String trackTitle;
public String getArtistName() {
return artistName;
}
public void setArtistName(String artistName) {
this.artistName = artistName;
}
public String getTrackTitle() {
return trackTitle;
}
public void setTrackTitle(String trackTitle) {
this.trackTitle = trackTitle;
}
}
从HTML表单接收数据的控制器代码
@RequestMapping(value = "/recommended.view")
public ModelAndView artistTrackForm() {
return new ModelAndView("recommended", "command", new RecommendedFormDataCommand());
}
@RequestMapping(value = "/recommendedSongs.view")
public String artistTrackFormData(@ModelAttribute("command") RecommendedFormDataCommand rfd,
ModelMap model) throws IOException {
HTTPS GET请求
https://{CLIENT ID}.web.cddbp.net/webapi/json/1.0/radio/recommend?client={CLIENT ID}-{CLIENT TAG}&user={CLIENT ID}&seed=(text_artist_kendrick+lamar;text_track_King+Kunta%2Cking+kunta)&return_count=25
注意:我不想显示我的客户端标记和ID,因此我将其替换为:{CLIENT ID}和{CLIENT TAG}
如果有人能告诉我是否可以通过POST方法发送HTTPS请求并收到JSON响应,那将会非常有用并给出一个简单的例子。