> Be assumption that existed servlet http://localhost:4502/bin/flagtick/httpcall, we can get parameter from request as below
public class FlagtickCustomServlet extends SlingAllMethodsServlet {
private static final long serialVersionUID = -2014397651676211439L;
private static final Logger log = LoggerFactory.getLogger(FlagtickCustomServlet.class);
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws IOException {
final String dateString = request.getParameter("DATE_STRING_PARAMETER");
if (StringUtils.isBlank(dateString)) {
String errorMsg = "No date string parameter found for the request";
response.getWriter().append(errorMsg);
response.setStatus(HTTP_BAD_REQUEST);
return;
}
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.writeValue(response.getWriter(), "<Your Data Response>");
}
}
> Encoding and Servlet API by using setContentType or setCharacterEncoding
response.setContentType(Constants.CONTENT_TYPE_JSON);
response.setCharacterEncoding(Constants.ENCODING_UTF8);
response.setStatus(HTTP_OK);
Normally, we use it in doPost()
> Using ObjectMapper to parse json
response.setContentType(Constants.CONTENT_TYPE_JSON);
response.setCharacterEncoding(Constants.ENCODING_UTF8);
ObjectMapper objectMapper = new ObjectMapper();
...
String msg = "Your manipulation has been successfully!";
response.setStatus(HttpsURLConnection.HTTP_OK);
objectMapper.writeValue(response.getWriter(), msg);