vmb*_*vmb 7 java rest web-services jax-ws jersey
我想创建一个REST Jersey Web服务,接受JSON字符串作为输入参数.
此外,我将使用post request和webmethod我将返回一个JSON字符串.
如何使用Ajax post请求在HTML页面中使用它.我想知道我需要在Web方法上接受JSON字符串的所有更改.
public class Hello {
@POST
public String sayPlainTextHello() {
return "Hello Jersey";
}
}
Run Code Online (Sandbox Code Playgroud)
jgm*_*jgm 26
需要打破你的要求.首先,您要接受JSON字符串.所以你需要的方法
@Consumes(MediaType.APPLICATION_JSON)
Run Code Online (Sandbox Code Playgroud)
接下来,您需要确定您希望方法获得的内容.您可以按照建议获取JSON字符串,在这种情况下,您的方法如下所示:
@Consumes(MediaType.APPLICATION_JSON)
public String sayPlainTextHello(final String input) {
Run Code Online (Sandbox Code Playgroud)
或者,如果您的JSON字符串映射到Java对象,您可以直接获取该对象:
@Consumes(MediaType.APPLICATION_JSON)
public String sayPlainTextHello(final MyObject input) {
Run Code Online (Sandbox Code Playgroud)
您声明要返回JSON字符串.所以你需要:
@Produces(MediaType.APPLICATION_JSON)
Run Code Online (Sandbox Code Playgroud)
然后你需要实际返回一个JSON字符串:
return "{\"result\": \"Hello world\"}";
Run Code Online (Sandbox Code Playgroud)
所以你的完整方法看起来像这样:
@PATH("/hello")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String sayPlainTextHello(final String input) {
return "{\"result\": \"Hello world\"}";
}
Run Code Online (Sandbox Code Playgroud)
关于使用AJAX发送和接收,它看起来像这样:
var myData="{\"name\": \"John\"}";
var request = $.ajax({
url: "/hello",
type: "post",
data: myData
});
request.done(function (response, textStatus, jqXHR){
console.log("Response from server: " + response);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37444 次 |
| 最近记录: |