使用POST方法的Gracenote RhythmAPI请求

时间:2017-01-06 15:12:49

标签: java http-post gracenote

我正在使用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响应,那将会非常有用并给出一个简单的例子。

0 个答案:

没有答案