gpt4 book ai didi

java - 创建一个返回 JSON 响应的简单页面

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:40 25 4
gpt4 key购买 nike

在我项目的客户端工作的团队要求我编写一个示例测试页面,并给他们一个工作 URL,他们可以点击并返回 200。他们还要求我提供一个示例请求正文.这是我将提供给他们的请求正文。

{
"MyApp": {
"mAppHeader": {
"appId": "",
"personId": "",
"serviceName": "",
"clientIP": "",
"requestTimeStamp": "",
"encoding": "",
"inputDataFormat": "",
"outputDataFormat": "",
"environment": ""
},
"requestPayload": {
"header": {
"element": ""
},
"body": {
"request": {
"MyTestApp": {
"data": {
"AuthenticationRequestData": {
"appId": "",
"appPwd": ""
}
}
}
}
}
}
}
}

要开发示例页面,我不知道从哪里开始。请不要轻易投反对票(如果这个问题看起来无关紧要),因为我没有使用 JSP Servlet 的经验。

这是我目前所拥有的。它是一个简单的登录页面 -

    <%@ page language="java" 
contentType="text/html; charset=windows-1256"
pageEncoding="windows-1256"
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>Login Page</title>
</head>

<body>
<form action="TestClient">

AppId
<input type="text" name="appID"/><br>

AppPassword
<input type="text" name="appPwd"/>

<input type="submit" value="submit">

</form>
</body>
</html>

这是我的 servlet 类 -

 package com.test;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestClient extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public TestClient() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/json");
App app = new App();
app.setAppID(request.getParameter("appID"));
app.setAppPassword(request.getParameter("appPwd"));
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

}

我的应用程序是一个简单的 Java 类,它具有 appID 和带有 getter 和 setter 的 appPassword,所以我不打算在这里发布它。

我的问题是 - 我这样做是正确的还是 100% 错误?请给我你的建议。

最佳答案

您可以创建一个以相同格式格式化的 Java 对象,然后只使用内置方法

@WebServlet(urlPatterns = {"/BasicWebServices"})
public class BasicWebServices extends HttpServlet{

private static final long serialVersionUID = 1L;
private static GsonBuilder gson_builder = new GsonBuilder().serializeNulls().setDateFormat("MM/dd/yyyy");
public BasicWebServices(){
super();
}
@Override
public void destroy(){
super.destroy();
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
doPost(request, response);
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
try{
Gson gson = BasicWebServices.gson_builder.create();
MyObject myObject = new MyObject();
response.getWriter().write(gson.toJson(myObject));
}
catch(Exception e){
response.getWriter().write("ERROR");
}
}
}

然后您只需将您的 MyObject 设置为与您检索到的值相同的设置。要么制作一个设置相同的对象,要么尽可能使用与发送对象相同的 java 类。

对于你的,你必须有一个 MyApp 类,然后有对象 mAppHeader 和 requestPayload

public class mAppHeader(){
String appId = "";
String personId = "";
String serviceName = "";
String clientIP = "";
String requestTimeStamp = "";
String encoding = "";
String inputDataFormat = "";
String outputDataFormat = "";
String environment = "";
}

关于java - 创建一个返回 JSON 响应的简单页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21427383/

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