public class Registration{
public static void postRegistration(){
final String registrationUrl = "localhost:9000/registry";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
JSONObject registrationDetails = new JSONObject();
headers.setContentType(MediaType.APPLICATION_JSON);
registrationDetails.put("name", "OrderGenerator");
registrationDetails.put("uri", "http://localhost:8081/generate");
HttpEntity<String> request =
new HttpEntity<String>(registrationDetails.toString(), headers);
String response = restTemplate.postForObject(registrationUrl,request,String.class);
System.out.println(response);
}
};
@SpringBootApplication
public class OrderGeneratorServiceApplication {
public static void main(String[] args) {
SpringApplication.run(OrderGeneratorServiceApplication.class, args);
Registration.postRegistration();
}
如果您使用的是Postman,它会为您提出的请求创建自动生成的代码。它在右手边的“保存”按钮的正下方。您需要创建自己的自动格式化方法,以便提供正确的输入。下面是我目前正在使用的一些API的一个示例。
你看到我在第三行有一个超长的输入了吗?您应该创建一个方法,该方法将接受您的输入并自动格式化它。
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n \"categoryName\": \"PostMan\",\r\n \"categoryQuestions\": [\r\n \"When is the last time you experienced nostalgia?\",\r\n \"What's the scariest dream you've ever had?\",\r\n \"What's the weirdest thought you've ever had?\",\r\n \"What's the first thing that comes to mind when you hear the word fidget?\",\r\n \"What made-up word would you incorporate into the English language if you could?\"\r\n ]\r\n}");
Request request = new Request.Builder()
.url("http://localhost:8080/api/v1/categories")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
下面是我的示例(我使用的是如下格式的JSON数据
{
"categoryName": "PostMan",
"categoryQuestions": [
"When is the last time you experienced nostalgia?",
"What's the scariest dream you've ever had?",
"What's the weirdest thought you've ever had?",
"What's the first thing that comes to mind when you hear the word fidget?",
"What made-up word would you incorporate into the English language if you could?"
]
}
public static String inputParse(String nameInput, ArrayList<String> questionInput) {
String inputBuilder = "{\r\n \"categoryName\": \"" + nameInput + "\",\r\n \"categoryQuestions\": [\r\n ";
for (int i = 0; i < questionInput.size(); i++)
{
inputBuilder += "\"" + questionInput.get(i) + "\"";
if (i != questionInput.size()-1)
{
inputBuilder += ",";
}
}
inputBuilder += "\r\n ]\r\n}";
return inputBuilder;
}
private void createEmployee() {
Employee newEmployee = new Employee("admin", "admin", "admin@gmail.com");
RestTemplate restTemplate = new RestTemplate();
Employee result = restTemplate.postForObject(CREATE_EMPLOYEE_ENDPOINT_URL, newEmployee, Employee.class);
System.out.println(result);
}
问题内容: 我正在尝试使用 nodejs 和 请求 [2] 向google QPX Express API [1]发出HTTP POST请求。 我的代码如下: 我想做的是使用multipart参数[3]传递JSON。但是我没有正确的JSON响应,而是收到一个错误(未定义400)。 当我使用CURL使用相同的JSON和API密钥发出请求时,它工作正常。因此,我的API密钥或JSON没错。 我的代码有
我正在使用RestTemplate方法将请求发布到endpoint。我在不同的文件中有和,我想把它们传递给POST请求,除此之外,我还想把传递给endpoint。 我能够成功地传递头和请求,但不能传递包含凭据的Http实体 有没有办法让我三样东西都及格 > HttpHeader 要求 这是我的密码 以下代码位于NewHttpHeader中。包含和
问题内容: 我想仅使用本机Python库将JSON编码的数据发送到服务器。我喜欢请求,但我根本无法使用它,因为我无法在运行脚本的计算机上使用它。我需要没有它。 我的服务器是本地WAMP服务器。我总是得到一个 urllib.error.HTTPError:HTTP错误500:内部服务器错误 我 100%确信 这 不是 服务器问题,因为在同一台计算机上,同一台服务器上的同一数据,相同的url与请求库和
问题内容: 将请求正文与GET请求一起传递是否违反REST风格? 例如在Elasticsearch中过滤一些信息 甚至设计了一些工具来避免GET请求中的请求主体(例如邮递员) 问题答案: 从RFC: GET请求消息中的有效负载没有定义的语义。在GET请求上发送有效内容正文可能会导致某些现有实现拒绝该请求。 换句话说,这不是禁止的,但是它是未定义的行为,应避免使用。HTTP客户端,服务器和代理可以随
Kubernetes 设计之初就是按照 Cloud Native 的理念设计的,Cloud Native 中有个重要概念就是微服务的架构设计,当将单体应用拆分微服务后, 随着服务数量的增多,如何微服务进行管理以保证服务的 SLA 呢?为了从架构层面上解决这个问题,解放程序员的创造性,避免繁琐的服务发现、监控、分布式追踪等事务,Service mesh 应运而生。 微服务 下图是Bilgin Ibr
我们有一个微服务架构,其中来自公共(移动应用程序)的单个请求在内部导致对不同服务的4个HTTP调用。 使用保持活动 使用Apache HTTP池(HTTP://hc.Apache.org/httpcomponents-client-ga/httpclient/apidocs/org/Apache/HTTP/impl/conn/poolingclientconnectionmanager.html)