gpt4 book ai didi

java - 在生成 application/json 的 Web API 中返回简单字符串

转载 作者:行者123 更新时间:2023-11-29 04:33:07 25 4
gpt4 key购买 nike

在规范中,API的回答是一个简单的字符串值,但格式是JSON。

我正在使用 Jersey。

如果我这样构建我的答案:

return Response.ok().entity("hello").build();

它工作正常,但是例如,在 Firefox 的 WebView 中,当我查看答案时,出现 JSON 语法错误。如果我对这样的字符串有一些双引号:

return Response.ok().entity("\"hello\"").build();

Firefox 中没有语法错误,但我认为这不是一个好方法。

有没有一种好方法可以为生成一些 JSON 的 API 返回一个简单的字符串值?

最佳答案

如果你要生成 JSON 那么你必须返回一些对象或集合,例如:

你好.java

public class Hello{
public String name;
// getter setter
}

在 YourRest.java 中

@GET
@Path("hello/{name}")
@Produces(MediaType.APPLICATION_JSON)
public String greeting(@PathParam("name") String name ){
Hello hello = new Hello();
hello.setName(name);
return Response.ok().entity(hello).build();
}

@GET
@Path("people")
@Produces(MediaType.APPLICATION_JSON)
public ArrayList<String> peopleList(){
List<String> people = new ArrayList<String>();
Hello hello = new Hello();
hello.setName("bloub");
people.add(hello);
hello.setName("Aime");
people.add(hello);
return Response.ok().entity(people).build();
}

http://localhost:8080/hello/bloub会回来的

{
"name" : "bloub"
}

http://localhost:8080/people会回来的

[
{
"name" : "bloub"
},
{
"name" : "Aime"
}
]

但是如果你想返回简单的文本然后使用@Produces(MediaType.TEXT_PLAIN)

例如:

在 YourRest.java 中

@GET
@Path("hello/{name}")
@Produces(MediaType.TEXT_PLAIN)
public String greeting(@PathParam("name") String name ){
return Response.ok().entity("Hello, "+name).build();
}

http://localhost:8080/hello/bloub会回来的

Hello, bloub

希望对你有帮助

关于java - 在生成 application/json 的 Web API 中返回简单字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42981632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com